(57)【要約】【課題】各ブロックに関する書き込みアクセスの履歴情報に基づいてブロック毎に最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能な、半導体記憶装置を得る。【解決手段】制御部２は、ページ単位で論物変換を行う第１ファイルシステム３１と、ブロック単位で論物変換を行う第２ファイルシステム３２とを有する。制御部２は、各ブロックに関する書き込みアクセスの履歴情報１３を保持し、当該履歴情報１３に基づいて、各ブロックに関して第１ファイルシステム３１及び第２ファイルシステム３２の一方を選択する。【選択図】図２
2014071611.tif 000002
【特許請求の範囲】
【請求項１】
それぞれに複数のページを含む複数のブロックを有する記憶部と、
前記記憶部を制御する制御部と、
を備え、
前記制御部は、
ページ単位で論理−物理アドレス変換を行う第１のファイルシステムと、
ブロック単位で論理−物理アドレス変換を行う第２のファイルシステムと、
を有し、
前記制御部は、各ブロックに関する書き込みアクセスの履歴情報を保持し、当該履歴情報に基づいて、各ブロックに関して第１のファイルシステム及び第２のファイルシステムの一方を選択する、半導体記憶装置。
【請求項２】
前記履歴情報には、
書き込みデータ長の平均値と、
前回に書き込みアクセスされたページのアドレスと、
が含まれ、
前記制御部は、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第１のカウンタと、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより小さい場合にカウンタ値がインクリメントされる第２のカウンタと、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスと等しい場合にカウンタ値がインクリメントされる第３のカウンタと、
を有し、
前記制御部は、
書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第１のファイルシステムを選択し、
書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１乃至第３のカウンタの中で前記第１のカウンタのカウンタ値が最も大きい場合には、前記第２のファイルシステムを選択し、
書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１乃至第３のカウンタの中で前記第２のカウンタのカウンタ値が最も大きい場合には、前記第１のファイルシステムを選択する、請求項１に記載の半導体記憶装置。
【請求項３】
前記制御部は、
書き込みデータ長の平均値が前記しきい値を超え、かつ、前記第１乃至第３のカウンタの中で前記第３のカウンタのカウンタ値が最も大きい場合において、
今回の書き込みアクセスがページの境界を跨ぐ場合には、前記第１のファイルシステムを選択し、
今回の書き込みアクセスがページの境界を跨がない場合には、前記第２のファイルシステムを選択する、請求項２に記載の半導体記憶装置。
【請求項４】
前記制御部は、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１乃至第３のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する、請求項２又は３に記載の半導体記憶装置。
【請求項５】
前記履歴情報には、
書き込みデータ長の平均値と、
前回に書き込みアクセスされたページのアドレスと、
が含まれ、
前記制御部は、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第１のカウンタと、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレス以下である場合にカウンタ値がインクリメントされる第２のカウンタと、
を有し、
前記制御部は、
書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第１のファイルシステムを選択し、
書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値より大きい場合には、前記第２のファイルシステムを選択し、
書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値より小さい場合には、前記第１のファイルシステムを選択する、請求項１に記載の半導体記憶装置。
【請求項６】
前記制御部は、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する、請求項５に記載の半導体記憶装置。
【請求項７】
前記履歴情報には、書き込みデータ長の平均値が含まれ、
前記制御部は、
書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第１のファイルシステムを選択し、
書き込みデータ長の平均値が前記しきい値を超える場合には、前記第２のファイルシステムを選択する、請求項１に記載の半導体記憶装置。
【請求項８】
前記履歴情報には、前回に書き込みアクセスされたページのアドレスが含まれ、
前記制御部は、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第１のカウンタと、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより小さい場合にカウンタ値がインクリメントされる第２のカウンタと、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスと等しい場合にカウンタ値がインクリメントされる第３のカウンタと、
を有し、
前記制御部は、
前記第１乃至第３のカウンタの中で前記第１のカウンタのカウンタ値が最も大きい場合には、前記第２のファイルシステムを選択し、
前記第１乃至第３のカウンタの中で前記第２のカウンタのカウンタ値が最も大きい場合には、前記第１のファイルシステムを選択する、請求項１に記載の半導体記憶装置。
【請求項９】
前記制御部は、
前記第１乃至第３のカウンタの中で前記第３のカウンタのカウンタ値が最も大きい場合において、
今回の書き込みアクセスがページの境界を跨ぐ場合には、前記第１のファイルシステムを選択し、
今回の書き込みアクセスがページの境界を跨がない場合には、前記第２のファイルシステムを選択する、請求項８に記載の半導体記憶装置。
【請求項１０】
前記制御部は、前記第１乃至第３のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する、請求項８又は９に記載の半導体記憶装置。
【請求項１１】
前記履歴情報には、前回に書き込みアクセスされたページのアドレスが含まれ、
前記制御部は、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第１のカウンタと、
今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレス以下である場合にカウンタ値がインクリメントされる第２のカウンタと、
を有し、
前記制御部は、
前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値より大きい場合には、前記第２のファイルシステムを選択し、
前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値より小さい場合には、前記第１のファイルシステムを選択する、請求項１に記載の半導体記憶装置。
【請求項１２】
前記制御部は、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する、請求項１１に記載の半導体記憶装置。
【請求項１３】
前記履歴情報には、ページの境界を跨ぐ書き込みアクセスが行われた回数が含まれ、
前記制御部は、
前記回数が所定のしきい値以下である場合には、前記第１のファイルシステムを選択し、
前記回数が前記しきい値を超える場合には、前記第２のファイルシステムを選択する、請求項１に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関する。
【背景技術】
【０００２】
一般的に、ＮＡＮＤ型フラッシュメモリの記憶領域は複数のブロックに分割されており、各ブロックには複数のページが含まれている。ＮＡＮＤ型フラッシュメモリにおいて、データの書き込み及び読み出しの最小単位はページであり、データの消去の最小単位はブロックである。
【０００３】
このようなＮＡＮＤ型フラッシュメモリに適用されるファイルシステムとしては、ページ単位で論理−物理アドレス変換（以下「論物変換」と称す）を行うことによってページ単位でのデータの書き込みが可能なファイルシステムや、ブロック単位で論物変換を行うことによってブロック単位でのデータの書き込みが可能なファイルシステム等が知られている。
【０００４】
なお、下記特許文献１には、書き込み回数の上限値（４０００回）に対して所定のしきい値（２０００回）が設定され、書き込み回数がしきい値未満である場合には４値データの書き込みが行われ、一方、書き込み回数がしきい値以上である場合には２値データの書き込みが行われる、ＮＡＮＤ型フラッシュメモリが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第ＷＯ２００９／０９０７３１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＮＡＮＤ型フラッシュメモリに適用するファイルシステムとして、ページ単位で論物変換を行うファイルシステムを採用すると、データサイズが大きいデータを書き込む場合や、複数のページへのシーケンシャルアクセスによってデータを書き込む場合に、不要な書き込みや消去が増えてしまう。一方、ブロック単位で論物変換を行うファイルシステムを採用すると、データサイズが小さいデータを書き込む場合や、複数のページへのランダムアクセスによってデータを書き込む場合に、不要な書き込みや消去が増えてしまう。
【０００７】
本発明はかかる事情に鑑みて成されたものであり、各ブロックに関する書き込みアクセスの履歴情報に基づいてブロック毎に最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能な、半導体記憶装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る半導体記憶装置は、それぞれに複数のページを含む複数のブロックを有する記憶部と、前記記憶部を制御する制御部と、を備え、前記制御部は、ページ単位で論理−物理アドレス変換を行う第１のファイルシステムと、ブロック単位で論理−物理アドレス変換を行う第２のファイルシステムと、を有し、前記制御部は、各ブロックに関する書き込みアクセスの履歴情報を保持し、当該履歴情報に基づいて、各ブロックに関して第１のファイルシステム及び第２のファイルシステムの一方を選択することを特徴とするものである。
【０００９】
第１の態様に係る半導体記憶装置によれば、制御部は、ページ単位で論理−物理アドレス変換を行う第１のファイルシステムと、ブロック単位で論理−物理アドレス変換を行う第２のファイルシステムとを有している。そして、各ブロックに関する書き込みアクセスの履歴情報を保持し、当該履歴情報に基づいて、各ブロックに関して第１のファイルシステム及び第２のファイルシステムの一方を選択する。従って、履歴情報に基づき、データサイズやアクセスパターンに応じて最適なファイルシステムをブロック毎に選択することができ、その結果、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【００１０】
本発明の第２の態様に係る半導体記憶装置は、第１の態様に係る半導体記憶装置において特に、前記履歴情報には、書き込みデータ長の平均値と、前回に書き込みアクセスされたページのアドレスと、が含まれ、前記制御部は、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第１のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより小さい場合にカウンタ値がインクリメントされる第２のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスと等しい場合にカウンタ値がインクリメントされる第３のカウンタと、を有し、前記制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第１のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１乃至第３のカウンタの中で前記第１のカウンタのカウンタ値が最も大きい場合には、前記第２のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１乃至第３のカウンタの中で前記第２のカウンタのカウンタ値が最も大きい場合には、前記第１のファイルシステムを選択することを特徴とするものである。
【００１１】
第２の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、第１のファイルシステムを選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第１乃至第３のカウンタの中で第１のカウンタのカウンタ値が最も大きい場合には、第２のファイルシステムを選択する。このように、データサイズが大きいデータをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第１乃至第３のカウンタの中で第２のカウンタのカウンタ値が最も大きい場合には、第１のファイルシステムを選択する。このように、データサイズが大きいデータをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【００１２】
本発明の第３の態様に係る半導体記憶装置は、第２の態様に係る半導体記憶装置において特に、前記制御部は、書き込みデータ長の平均値が前記しきい値を超え、かつ、前記第１乃至第３のカウンタの中で前記第３のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、前記第１のファイルシステムを選択し、今回の書き込みアクセスがページの境界を跨がない場合には、前記第２のファイルシステムを選択することを特徴とするものである。
【００１３】
第３の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値がしきい値を超え、かつ、第１乃至第３のカウンタの中で第３のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、第１のファイルシステムを選択する。このように、データサイズが大きいデータを前回にアクセスしたページと同一のページに書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨ぐ場合には、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超え、かつ、第１乃至第３のカウンタの中で第３のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨がない場合には、第２のファイルシステムを選択する。このように、データサイズが大きいデータを前回にアクセスしたページと同一のページに書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨がない場合には、ブロック単位で論物変換を行う第２のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【００１４】
本発明の第４の態様に係る半導体記憶装置は、第２又は第３の態様に係る半導体記憶装置において特に、前記制御部は、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１乃至第３のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持することを特徴とするものである。
【００１５】
第４の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第１乃至第３のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する。このように、カウンタ値が最も大きいカウンタが複数存在する場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【００１６】
本発明の第５の態様に係る半導体記憶装置は、第１の態様に係る半導体記憶装置において特に、前記履歴情報には、書き込みデータ長の平均値と、前回に書き込みアクセスされたページのアドレスと、が含まれ、前記制御部は、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第１のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレス以下である場合にカウンタ値がインクリメントされる第２のカウンタと、を有し、前記制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第１のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値より大きい場合には、前記第２のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値より小さい場合には、前記第１のファイルシステムを選択することを特徴とするものである。
【００１７】
第５の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、第１のファイルシステムを選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第１のカウンタのカウンタ値が第２のカウンタのカウンタ値より大きい場合には、第２のファイルシステムを選択する。このように、データサイズが大きいデータをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第１のカウンタのカウンタ値が第２のカウンタのカウンタ値より小さい場合には、第１のファイルシステムを選択する。このように、データサイズが大きいデータをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【００１８】
本発明の第６の態様に係る半導体記憶装置は、第５の態様に係る半導体記憶装置において特に、前記制御部は、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持することを特徴とするものである。
【００１９】
第６の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第１のカウンタのカウンタ値が第２のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する。このように、第１のカウンタのカウンタ値が第２のカウンタのカウンタ値に等しい場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【００２０】
本発明の第７の態様に係る半導体記憶装置は、第１の態様に係る半導体記憶装置において特に、前記履歴情報には、書き込みデータ長の平均値が含まれ、前記制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第１のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合には、前記第２のファイルシステムを選択することを特徴とするものである。
【００２１】
第７の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、第１のファイルシステムを選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合には、第２のファイルシステムを選択する。このように、データサイズが大きいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【００２２】
本発明の第８の態様に係る半導体記憶装置は、第１の態様に係る半導体記憶装置において特に、前記履歴情報には、前回に書き込みアクセスされたページのアドレスが含まれ、前記制御部は、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第１のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより小さい場合にカウンタ値がインクリメントされる第２のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスと等しい場合にカウンタ値がインクリメントされる第３のカウンタと、を有し、前記制御部は、前記第１乃至第３のカウンタの中で前記第１のカウンタのカウンタ値が最も大きい場合には、前記第２のファイルシステムを選択し、前記第１乃至第３のカウンタの中で前記第２のカウンタのカウンタ値が最も大きい場合には、前記第１のファイルシステムを選択することを特徴とするものである。
【００２３】
第８の態様に係る半導体記憶装置によれば、制御部は、第１乃至第３のカウンタの中で第１のカウンタのカウンタ値が最も大きい場合には、第２のファイルシステムを選択する。このように、データをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、第１乃至第３のカウンタの中で第２のカウンタのカウンタ値が最も大きい場合には、第１のファイルシステムを選択する。このように、データをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【００２４】
本発明の第９の態様に係る半導体記憶装置は、第８の態様に係る半導体記憶装置において特に、前記制御部は、前記第１乃至第３のカウンタの中で前記第３のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、前記第１のファイルシステムを選択し、今回の書き込みアクセスがページの境界を跨がない場合には、前記第２のファイルシステムを選択することを特徴とするものである。
【００２５】
第９の態様に係る半導体記憶装置によれば、制御部は、第１乃至第３のカウンタの中で第３のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、第１のファイルシステムを選択する。このように、前回にアクセスしたページと同一のページにデータを書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨ぐ場合には、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、第１乃至第３のカウンタの中で第３のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨がない場合には、第２のファイルシステムを選択する。このように、前回にアクセスしたページと同一のページにデータを書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨がない場合には、ブロック単位で論物変換を行う第２のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【００２６】
本発明の第１０の態様に係る半導体記憶装置は、第８又は第９の態様に係る半導体記憶装置において特に、前記制御部は、前記第１乃至第３のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持することを特徴とするものである。
【００２７】
第１０の態様に係る半導体記憶装置によれば、制御部は、第１乃至第３のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する。このように、カウンタ値が最も大きいカウンタが複数存在する場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【００２８】
本発明の第１１の態様に係る半導体記憶装置は、第１の態様に係る半導体記憶装置において特に、前記履歴情報には、前回に書き込みアクセスされたページのアドレスが含まれ、前記制御部は、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第１のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレス以下である場合にカウンタ値がインクリメントされる第２のカウンタと、を有し、前記制御部は、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値より大きい場合には、前記第２のファイルシステムを選択し、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値より小さい場合には、前記第１のファイルシステムを選択することを特徴とするものである。
【００２９】
第１１の態様に係る半導体記憶装置によれば、制御部は、第１のカウンタのカウンタ値が第２のカウンタのカウンタ値より大きい場合には、第２のファイルシステムを選択する。このように、データをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、第１のカウンタのカウンタ値が第２のカウンタのカウンタ値より小さい場合には、第１のファイルシステムを選択する。このように、データをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【００３０】
本発明の第１２の態様に係る半導体記憶装置は、第１１の態様に係る半導体記憶装置において特に、前記制御部は、前記第１のカウンタのカウンタ値が前記第２のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持することを特徴とするものである。
【００３１】
第１２の態様に係る半導体記憶装置によれば、制御部は、第１のカウンタのカウンタ値が第２のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する。このように、第１のカウンタのカウンタ値が第２のカウンタのカウンタ値に等しい場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【００３２】
本発明の第１３の態様に係る半導体記憶装置は、第１の態様に係る半導体記憶装置において特に、前記履歴情報には、ページの境界を跨ぐ書き込みアクセスが行われた回数が含まれ、前記制御部は、前記回数が所定のしきい値以下である場合には、前記第１のファイルシステムを選択し、前記回数が前記しきい値を超える場合には、前記第２のファイルシステムを選択することを特徴とするものである。
【００３３】
第１３の態様に係る半導体記憶装置によれば、制御部は、ページの境界を跨ぐ書き込みアクセスが行われた回数が所定のしきい値以下である場合には、第１のファイルシステムを選択する。このように、ページの境界を跨ぐ書き込みアクセスが頻発しないブロックに関しては、ページ単位で論物変換を行う第１のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、ページの境界を跨ぐ書き込みアクセスが行われた回数がしきい値を超える場合には、第２のファイルシステムを選択する。このように、ページの境界を跨ぐ書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【発明の効果】
【００３４】
本発明によれば、各ブロックに関する書き込みアクセスの履歴情報に基づいてブロック毎に最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能な、半導体記憶装置を得ることができる。
【図面の簡単な説明】
【００３５】
【図１】半導体記憶装置のシステム構成を簡略化して示す図である。
【図２】本発明の実施の形態１に係る制御部の構成を示すブロック図である。
【図３】本発明の実施の形態１に係る履歴情報のフォーマットを示す図である。
【図４】本発明の実施の形態１に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。
【図５】本発明の実施の形態１の変形例に係る制御部の構成を示すブロック図である。
【図６】本発明の実施の形態１の変形例に係る履歴情報のフォーマットを示す図である。
【図７】本発明の実施の形態１の変形例に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。
【図８】本発明の実施の形態２に係る制御部の構成を示すブロック図である。
【図９】本発明の実施の形態２に係る履歴情報のフォーマットを示す図である。
【図１０】本発明の実施の形態２に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。
【図１１】本発明の実施の形態３に係る制御部の構成を示すブロック図である。
【図１２】本発明の実施の形態３に係る履歴情報のフォーマットを示す図である。
【図１３】本発明の実施の形態３に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。
【図１４】本発明の実施の形態３の変形例に係る制御部の構成を示すブロック図である。
【図１５】本発明の実施の形態３の変形例に係る履歴情報のフォーマットを示す図である。
【図１６】本発明の実施の形態３の変形例に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。
【図１７】本発明の実施の形態４に係る制御部の構成を示すブロック図である。
【図１８】本発明の実施の形態４に係る履歴情報のフォーマットを示す図である。
【図１９】本発明の実施の形態４に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。
【発明を実施するための形態】
【００３６】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００３７】
図１は、半導体記憶装置１のシステム構成を簡略化して示す図である。図１に示すように半導体記憶装置１は、制御部２と、制御部２によって制御される記憶部３とを備えている。記憶部３は、例えばＮＡＮＤ型のフラッシュメモリによって構成されている。記憶部３は複数のブロックに分割されており、各ブロックには複数のページ（例えば６４ページ）が含まれている。１ページのデータサイズは、例えば４２２４バイトである。ＮＡＮＤ型フラッシュメモリにおいて、ページはデータの書き込み及び読み出しの最小単位であり、ブロックはデータの消去の最小単位である。
【００３８】
記憶部３には、ユーザが使用するユーザデータ１１が格納される。また、記憶部３内の特定のブロックには、制御部２が記憶部３を管理するために必要な情報である管理情報１２が格納される。また、記憶部３には、各ブロックに関する書き込みアクセスの履歴を示す情報である履歴情報１３（詳細は後述する）が格納される。履歴情報１３は、ユーザデータ１１が格納されている領域のサイドバンド（冗長領域）に格納しても良いし、管理情報１２が格納されている特定のブロック内に格納しても良い。また、履歴情報１３は、記憶部３とは別の不揮発性の記憶媒体（ＲＯＭ等）に格納しても良い。
【００３９】
＜実施の形態１＞
図２は、本発明の実施の形態１に係る制御部２の構成を示すブロック図である。図２に示すように制御部２は、メモリコントローラ２１、ログ解析回路２２、ＳＲＡＭ２３、合計カウンタ２４、順方向カウンタ２５、逆方向カウンタ２６、及び同一カウンタ２７を備えて構成されている。なお、カウンタ２４〜２７は、ログ解析回路２２内に設けても良い。また、カウンタ２４〜２７及びログ解析回路２２は、メモリコントローラ２１内に設けても良い。
【００４０】
ＳＲＡＭ２３内には、記憶部３から読み出された履歴情報１３が格納されている。
【００４１】
メモリコントローラ２１は、記憶部３内に格納されるデータを管理するためのデータ管理方法（ファイルシステム）として、第１ファイルシステム３１と第２ファイルシステム３２とを有している。
【００４２】
ＮＡＮＤ型のフラッシュメモリに適用されるファイルシステムとしては様々なファイルシステムが知られているが、本実施の形態に係る半導体記憶装置１において、第１ファイルシステム３１はページ単位で論物変換を行う任意のファイルシステムであり、第２ファイルシステム３２はブロック単位で論物変換を行う任意のファイルシステムである。
【００４３】
第１ファイルシステム３１は、ページ単位で論物変換を行うため、ページ単位でのデータの書き込みが可能である。従って、第１ファイルシステム３１は、データサイズが小さいデータ（例えば１ページ未満のデータ）を書き込む使用態様や、連続しない複数のページへのランダムアクセスによってデータを書き込む使用態様において有利である。また、第１ファイルシステム３１では、ブロックサイズと同等のキャッシュ領域が記憶部３内（又は制御部２内）に確保され、キャッシュ領域のデータサイズが大きいため、同一のページに連続して書き込みアクセスを行う場合でも不要な消去は発生しない。従って、第１ファイルシステム３１は、データサイズの大きいデータ（例えばページ境界を跨ぐようなデータ）を同一のページに連続して書き込む使用態様においても有利である。
【００４４】
第２ファイルシステム３２は、ブロック単位で論物変換を行うため、ブロック単位でのデータの書き込みが可能である。従って、第２ファイルシステム３２は、データサイズが大きいデータ（例えば１ページ以上のデータ）を書き込む使用態様や、連続する複数のページへのシーケンシャルアクセスによってデータを書き込む使用態様において有利である。また、第２ファイルシステム３２では、ページサイズと同等のキャッシュ領域が記憶部３内（又は制御部２内）に確保され、キャッシュ領域のデータサイズが小さいため、データサイズの大きいデータを同一のページに連続して書き込む使用態様においては、消去回数が多くなるため不利である。
【００４５】
図３は、本発明の実施の形態１に係る履歴情報１３のフォーマットを示す図である。図３に示すように本実施の形態に係る履歴情報１３には、論理ブロックアドレスで区別される複数のブロックの各々に関して、平均データ長、アクセス回数、前回のアクセスページ、及びアクセス回数の内訳が記述されている。履歴情報１３は、半導体記憶装置１の電源が投入された直後のタイミングで、記憶部３からＳＲＡＭ２３に読み出される。また、ＳＲＡＭ２３に格納されている履歴情報１３は、外部のホストコンピュータ等から半導体記憶装置１に対して書き込みアクセスが行われる度に、ログ解析回路２２又はメモリコントローラ２によって最新の情報に更新され、最新の履歴情報１３がＳＲＡＭ２３内に保持される。また、ＳＲＡＭ２３内に保持されている最新の履歴情報１３は、（１）半導体記憶装置１の電源がオフされる直前のタイミング、（２）記憶部３内の履歴情報１３を前回更新してから一定時間が経過したタイミング、（３）記憶部３内の履歴情報１３を更新する旨の特定のコマンドが外部のホストコンピュータ等から入力されたタイミング、（４）特定の論物変換が実行されたタイミング、等の所定のタイミングで、ＳＲＡＭ２３から記憶部３に転送され、記憶部３内に格納されている履歴情報１３が最新の情報に更新される。
【００４６】
平均データ長は、これまでに対象ブロックに書き込まれたデータのデータ長の平均値である。なお、記憶部３の記憶容量に余裕がある場合には、これまでに対象ブロックに書き込まれた各データのデータ長自体を履歴情報１３に記述しておき、これらの情報に基づいて平均データ長を算出しても良い。
【００４７】
アクセス回数は、これまでに対象ブロックに対して実行された書き込みアクセスの合計回数である。
【００４８】
前回のアクセスページは、対象ブロックに対する前回の書き込みアクセスにおいてアクセスされたページのアドレスである。
【００４９】
アクセス回数の内訳は、順方向、逆方向、及び同一に分類されている。対象ブロックに対する今回の書き込みアクセスによってアクセスするページのアドレスが、同一ブロックに対する前回の書き込みアクセスにおいてアクセスされたページのアドレスより大きい場合には、「順方向」のアクセス回数が「１」だけインクリメントされる。また、対象ブロックに対する今回の書き込みアクセスによってアクセスするページのアドレスが、同一ブロックに対する前回の書き込みアクセスにおいてアクセスされたページのアドレスより小さい場合には、「逆方向」のアクセス回数が「１」だけインクリメントされる。また、対象ブロックに対する今回の書き込みアクセスによってアクセスするページのアドレスが、同一ブロックに対する前回の書き込みアクセスにおいてアクセスされたページのアドレスに等しい場合には、「同一」のアクセス回数が「１」だけインクリメントされる。
【００５０】
図２を参照して、外部のホストコンピュータ等からあるブロックを対象とする書き込みアクセスが行われた場合には、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を参照することにより、その対象ブロックに適用するファイルシステムとして、第１ファイルシステム３１及び第２ファイルシステム３２の一方を選択する。
【００５１】
図４は、本発明の実施の形態１に係る制御部２に関して、ログ解析回路２２によるファイルシステムの選択手法を示すフローチャートである。
【００５２】
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を、ＳＲＡＭ２３から取得する。その後、ログ解析回路２２は、対象ブロックに関する「アクセス回数」の情報を履歴情報１３から抽出して、その回数を合計カウンタ２４に設定する。また、対象ブロックに関する「順方向」のアクセス回数の情報を履歴情報１３から抽出して、その回数を順方向カウンタ２５に設定する。また、対象ブロックに関する「逆方向」のアクセス回数の情報を履歴情報１３から抽出して、その回数を逆方向カウンタ２６に設定する。また、対象ブロックに関する「同一」のアクセス回数の情報を履歴情報１３から抽出して、その回数を同一カウンタ２７に設定する。
【００５３】
次にステップＳＰ１０１においてログ解析回路２２は、履歴情報１３に記述されている対象ブロックに関する情報と、書き込みコマンドに含まれている書き込みデータのデータ長とに基づいて、今回の書き込みアクセスを反映した対象ブロックの平均データ長を算出する。具体的には、
AveragePC1=((AveragePC0*AccessCount)+PC)/(AccessCount+1)      ・・・（１）
なる演算を実行することにより、最新の平均データ長を算出する。
【００５４】
式（１）において、「AveragePC1」は、今回の書き込みアクセスを反映した対象ブロックの平均データ長（つまり最新の平均データ長）である。「AveragePC0」は、履歴情報１３に記述されている平均データ長（つまり前回までの書き込みアクセスが反映された平均データ長）である。「AccessCount」は、履歴情報１３に記述されているアクセス回数である。「PC」は、今回の書き込みアクセスにおいて書き込まれるデータのデータ長である。
【００５５】
次にステップＳＰ１０２においてログ解析回路２２は、合計カウンタ２４のカウンタ値を「１」だけインクリメントする。
【００５６】
次にステップＳＰ１０３においてログ解析回路２２は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスと同一であるか否かを判定する。
【００５７】
両アドレスが一致する場合（つまりステップＳＰ１０３における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ１０５においてログ解析回路２２は、同一カウンタ２７のカウンタ値を「１」だけインクリメントする。
【００５８】
一方、両アドレスが一致しない場合（つまりステップＳＰ１０３における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ１０４においてログ解析回路２２は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスより大きいか否かを判定する。
【００５９】
今回のアドレスが前回のアドレスより大きい場合（つまりステップＳＰ１０４における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ１０６においてログ解析回路２２は、順方向カウンタ２５のカウンタ値を「１」だけインクリメントする。
【００６０】
一方、今回のアドレスが前回のアドレスより小さい場合（つまりステップＳＰ１０４における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ１０７においてログ解析回路２２は、逆方向カウンタ２６のカウンタ値を「１」だけインクリメントする。
【００６１】
ステップＳＰ１０５〜ＳＰ１０７に引き続き、次にステップＳＰ１０８においてログ解析回路２２は、ステップＳＰ１０１で算出した平均データ長が、予め設定した所定のしきい値ＴＨ１より大きいか否かを判定する。しきい値ＴＨ１の値としては、ページサイズ又はブロックサイズ等に応じて最適な値を設定することができる。例えば、ページサイズに等しい値を、しきい値ＴＨ１として設定することができる。あるいは、所望のデータに対して所望のファイルシステムが適用される値を解析によって求めて、その値をしきい値ＴＨ１として設定することができる。例えば、図１に示した管理情報１２に対しては第１ファイルシステム３１を適用し、ユーザデータ１１に対しては第２ファイルシステム３２を適用したい場合には、管理情報１２のデータサイズより大きく、ユーザデータ１１の転送データサイズより小さい値を、しきい値ＴＨ１として設定することができる。しきい値ＴＨ１に関する設定情報は、記憶部３内に格納しても良いし、記憶部３とは別の不揮発性の記憶媒体（ＲＯＭ等）に格納しても良い。
【００６２】
平均データ長がしきい値ＴＨ１以下である場合（つまりステップＳＰ１０８における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ１１２においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【００６３】
一方、平均データ長がしきい値ＴＨ１より大きい場合（つまりステップＳＰ１０８における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ１０９においてログ解析回路２２は、順方向カウンタ２５、逆方向カウンタ２６、及び同一カウンタ２７の各カウンタ値を比較することにより、カウンタ値が最大であるカウンタを特定する。
【００６４】
カウンタ値が最大であるカウンタが逆方向カウンタ２６である場合には、次にステップＳＰ１１２においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【００６５】
カウンタ値が最大であるカウンタが順方向カウンタ２５である場合には、次にステップＳＰ１１１においてログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。
【００６６】
カウンタ値が最大であるカウンタが同一カウンタ２７である場合には、次にステップＳＰ１１０においてログ解析回路２２は、今回の書き込みアクセスがページの境界を跨ぐか否かを判定する。具体的には、
RoundDown((Offset+PC)/NSector)≧1      ・・・（２）
なる演算を行うことにより、式（２）の関係を満たす場合には書き込みアクセスがページの境界を跨ぐと判定し、式（２）の関係を満たさない場合には書き込みアクセスがページの境界を跨がないと判定する。
【００６７】
式（２）において、「RoundDown」は、小数点以下の切り捨てを意味する。「Offset」は、ページの先頭アドレスと、ページ内において書き込みが開始される先頭アドレスとの差である。「PC」は、今回の書き込みアクセスにおいて書き込まれるデータのデータ長である。「NSector」は、１ページ内に含まれるセクタ数である。
【００６８】
今回の書き込みアクセスがページの境界を跨ぐ場合（つまりステップＳＰ１１０における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ１１２においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【００６９】
一方、今回の書き込みアクセスがページの境界を跨がない場合（つまりステップＳＰ１１０における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ１１１においてログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。
【００７０】
なお、ステップＳＰ１０９の判定において、カウンタ値が最大であるカウンタが複数存在する場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステム（つまり前回の書き込みアクセスに対応して選択されたファイルシステム）を維持する。今回のアクセスにおいてファイルシステムの選択を行うよりも、次回のアクセス時に、インクリメント後のカウンタ値やその他の条件（アクセスがページの境界を跨ぐか否か等）に基づいてファイルシステムの選択を行った方が、より適切な選択を実現できるためである。
【００７１】
但し、カウンタ値が最大であるカウンタが複数存在する場合に、今回のアクセスにおいて以下のように処理しても良い。カウンタ値が最も大きいカウンタが順方向カウンタ２５及び逆方向カウンタ２６の双方である場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【００７２】
また、カウンタ値が最も大きいカウンタが順方向カウンタ２５及び同一カウンタ２７の双方である場合であって、かつ、ステップＳＰ１１０の判定において今回の書き込みアクセスがページの境界を跨ぐ場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。一方、カウンタ値が最も大きいカウンタが順方向カウンタ２５及び同一カウンタ２７の双方である場合であって、かつ、ステップＳＰ１１０の判定において今回の書き込みアクセスがページの境界を跨がない場合には、ログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。このように、選択すべき最適なファイルシステムが等しい結果となる場合には、その最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【００７３】
また、カウンタ値が最も大きいカウンタが逆方向カウンタ２６及び同一カウンタ２７の双方である場合であって、かつ、ステップＳＰ１１０の判定において今回の書き込みアクセスがページの境界を跨ぐ場合には、ログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。このように、選択すべき最適なファイルシステムが等しい結果となる場合には、その最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。一方、カウンタ値が最も大きいカウンタが逆方向カウンタ２６及び同一カウンタ２７の双方である場合であって、かつ、ステップＳＰ１１０の判定において今回の書き込みアクセスがページの境界を跨がない場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【００７４】
＜実施の形態１の変形例＞
図５は、上記実施の形態１の変形例に係る制御部２の構成を示すブロック図である。本変形例では、図２に示した逆方向カウンタ２６及び同一カウンタ２７が、非順方向カウンタ２８としてまとめられている。
【００７５】
図６は、本変形例に係る履歴情報１３のフォーマットを示す図である。本変形例では、図３に示した逆方向及び同一の項目が、非順方向の項目としてまとめられている。
【００７６】
図７は、本変形例に係る制御部２に関して、ログ解析回路２２によるファイルシステムの選択手法を示すフローチャートである。
【００７７】
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を、ＳＲＡＭ２３から取得する。その後、ログ解析回路２２は、対象ブロックに関する「アクセス回数」の情報を履歴情報１３から抽出して、その回数を合計カウンタ２４に設定する。また、対象ブロックに関する「順方向」のアクセス回数の情報を履歴情報１３から抽出して、その回数を順方向カウンタ２５に設定する。また、対象ブロックに関する「非順方向」のアクセス回数の情報を履歴情報１３から抽出して、その回数を非順方向カウンタ２８に設定する。
【００７８】
次にステップＳＰ５０１においてログ解析回路２２は、履歴情報１３に記述されている対象ブロックに関する情報と、書き込みコマンドに含まれている書き込みデータのデータ長とに基づいて、今回の書き込みアクセスを反映した対象ブロックの平均データ長を算出する。具体的には、上述の式（１）で示した演算を実行することにより、最新の平均データ長を算出する。
【００７９】
次にステップＳＰ５０２においてログ解析回路２２は、合計カウンタ２４のカウンタ値を「１」だけインクリメントする。
【００８０】
次にステップＳＰ５０３においてログ解析回路２２は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスより大きいか否かを判定する。
【００８１】
今回のアドレスが前回のアドレスより大きい場合（つまりステップＳＰ５０３における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ５０４においてログ解析回路２２は、順方向カウンタ２５のカウンタ値を「１」だけインクリメントする。
【００８２】
一方、今回のアドレスが前回のアドレス以下である場合（つまりステップＳＰ５０３における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ５０５においてログ解析回路２２は、非順方向カウンタ２８のカウンタ値を「１」だけインクリメントする。
【００８３】
ステップＳＰ５０４，ＳＰ５０５に引き続き、次にステップＳＰ５０６においてログ解析回路２２は、ステップＳＰ５０１で算出した平均データ長が、予め設定した所定のしきい値ＴＨ１より大きいか否かを判定する。
【００８４】
平均データ長がしきい値ＴＨ１以下である場合（つまりステップＳＰ５０６における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ５０９においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【００８５】
一方、平均データ長がしきい値ＴＨ１より大きい場合（つまりステップＳＰ５０６における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ５０７においてログ解析回路２２は、順方向カウンタ２５及び非順方向カウンタ２８の各カウンタ値を比較することにより、カウンタ値が最大であるカウンタを特定する。
【００８６】
カウンタ値が最大であるカウンタが順方向カウンタ２５である場合（つまり順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値より大きい場合）には、次にステップＳＰ５０８においてログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。
【００８７】
一方、カウンタ値が最大であるカウンタが非順方向カウンタ２８である場合（つまり順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値より小さい場合）には、次にステップＳＰ５０９においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【００８８】
なお、ステップＳＰ５０７の判定において、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値に等しい場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステムを維持する。今回のアクセスにおいてファイルシステムの選択を行うよりも、次回のアクセス時に、インクリメント後のカウンタ値やその他の条件（アクセスがページの境界を跨ぐか否か等）に基づいてファイルシステムの選択を行った方が、より適切な選択を実現できるためである。
【００８９】
但し、ページ単位で論物変換を行う第１ファイルシステム３１は全てのアクセスパターンに対応可能であるため、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値に等しい場合には、ログ解析回路２２は第１ファイルシステム３１の適用を選択しても良い。第１ファイルシステム３１を選択することにより、無駄なブロック消去の発生を抑制することができる。
【００９０】
＜実施の形態２＞
図８は、本発明の実施の形態２に係る制御部２の構成を示すブロック図である。本実施の形態２に係る制御部２は、図２に示した上記実施の形態１に係る制御部２の構成から、順方向カウンタ２５、逆方向カウンタ２６、及び同一カウンタ２７を省略したものである。
【００９１】
図９は、本発明の実施の形態２に係る履歴情報１３のフォーマットを示す図である。本実施の形態２に係る履歴情報１３は、図３に示した上記実施の形態１に係る履歴情報１３のフォーマットから、前回のアクセスページ、及びアクセス回数の内訳の項目を省略したものである。
【００９２】
図８を参照して、外部のホストコンピュータ等からあるブロックを対象とする書き込みアクセスが行われた場合には、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を参照することにより、その対象ブロックに適用するファイルシステムとして、第１ファイルシステム３１及び第２ファイルシステム３２の一方を選択する。
【００９３】
図１０は、本発明の実施の形態２に係る制御部２に関して、ログ解析回路２２によるファイルシステムの選択手法を示すフローチャートである。
【００９４】
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を、ＳＲＡＭ２３から取得する。その後、ログ解析回路２２は、対象ブロックに関する「アクセス回数」の情報を履歴情報１３から抽出して、その回数を合計カウンタ２４に設定する。
【００９５】
次にステップＳＰ２０１においてログ解析回路２２は、履歴情報１３に記述されている対象ブロックに関する情報と、書き込みコマンドに含まれている書き込みデータのデータ長とに基づいて、今回の書き込みアクセスを反映した対象ブロックの平均データ長を算出する。具体的には、上述の式（１）で示した演算を実行することにより、最新の平均データ長を算出する。
【００９６】
次にステップＳＰ２０２においてログ解析回路２２は、合計カウンタ２４のカウンタ値を「１」だけインクリメントする。
【００９７】
次にステップＳＰ２０３においてログ解析回路２２は、ステップＳＰ２０１で算出した平均データ長が、予め設定した所定のしきい値ＴＨ１より大きいか否かを判定する。
【００９８】
平均データ長がしきい値ＴＨ１以下である場合（つまりステップＳＰ２０３おける判定の結果が「ＮＯ」である場合）には、次にステップＳＰ２０５においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【００９９】
一方、平均データ長がしきい値ＴＨ１より大きい場合（つまりステップＳＰ２０３における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ２０４においてログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。
【０１００】
＜実施の形態３＞
図１１は、本発明の実施の形態３に係る制御部２の構成を示すブロック図である。本実施の形態３に係る制御部２は、図２に示した上記実施の形態１に係る制御部２の構成から、合計カウンタ２４を省略したものである。
【０１０１】
図１２は、本発明の実施の形態３に係る履歴情報１３のフォーマットを示す図である。本実施の形態３に係る履歴情報１３は、図３に示した上記実施の形態１に係る履歴情報１３のフォーマットから、平均データ長、及びアクセス回数の項目を省略したものである。
【０１０２】
図１１を参照して、外部のホストコンピュータ等からあるブロックを対象とする書き込みアクセスが行われた場合には、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を参照することにより、その対象ブロックに適用するファイルシステムとして、第１ファイルシステム３１及び第２ファイルシステム３２の一方を選択する。
【０１０３】
図１３は、本発明の実施の形態３に係る制御部２に関して、ログ解析回路２２によるファイルシステムの選択手法を示すフローチャートである。
【０１０４】
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を、ＳＲＡＭ２３から取得する。その後、ログ解析回路２２は、対象ブロックに関する「順方向」のアクセス回数の情報を履歴情報１３から抽出して、その回数を順方向カウンタ２５に設定する。また、対象ブロックに関する「逆方向」のアクセス回数の情報を履歴情報１３から抽出して、その回数を逆方向カウンタ２６に設定する。また、対象ブロックに関する「同一」のアクセス回数の情報を履歴情報１３から抽出して、その回数を同一カウンタ２７に設定する。
【０１０５】
次にステップＳＰ３０１においてログ解析回路２２は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスと同一であるか否かを判定する。
【０１０６】
両アドレスが一致する場合（つまりステップＳＰ３０１における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ３０３においてログ解析回路２２は、同一カウンタ２７のカウンタ値を「１」だけインクリメントする。
【０１０７】
一方、両アドレスが一致しない場合（つまりステップＳＰ３０１における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ３０２においてログ解析回路２２は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスより大きいか否かを判定する。
【０１０８】
今回のアドレスが前回のアドレスより大きい場合（つまりステップＳＰ３０２における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ３０４においてログ解析回路２２は、順方向カウンタ２５のカウンタ値を「１」だけインクリメントする。
【０１０９】
一方、今回のアドレスが前回のアドレスより小さい場合（つまりステップＳＰ３０２における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ３０５においてログ解析回路２２は、逆方向カウンタ２６のカウンタ値を「１」だけインクリメントする。
【０１１０】
ステップＳＰ３０３〜ＳＰ３０５に引き続き、次にステップＳＰ３０６においてログ解析回路２２は、順方向カウンタ２５、逆方向カウンタ２６、及び同一カウンタ２７の各カウンタ値を比較することにより、カウンタ値が最大であるカウンタを特定する。
【０１１１】
カウンタ値が最大であるカウンタが逆方向カウンタ２６である場合には、次にステップＳＰ３０９においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【０１１２】
カウンタ値が最大であるカウンタが順方向カウンタ２５である場合には、次にステップＳＰ３０８においてログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。
【０１１３】
カウンタ値が最大であるカウンタが同一カウンタ２７である場合には、次にステップＳＰ３０７においてログ解析回路２２は、今回の書き込みアクセスがページの境界を跨ぐか否かを判定する。具体的には、上述の式（２）で示した演算を行うことにより、式（２）の関係を満たす場合には書き込みアクセスがページの境界を跨ぐと判定し、式（２）の関係を満たさない場合には書き込みアクセスがページの境界を跨がないと判定する。
【０１１４】
今回の書き込みアクセスがページの境界を跨ぐ場合（つまりステップＳＰ３０７における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ３０９においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【０１１５】
一方、今回の書き込みアクセスがページの境界を跨がない場合（つまりステップＳＰ３０７における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ３０８においてログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。
【０１１６】
なお、ステップＳＰ３０６の判定において、カウンタ値が最大であるカウンタが複数存在する場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステムを維持する。今回のアクセスにおいてファイルシステムの選択を行うよりも、次回のアクセス時に、インクリメント後のカウンタ値やその他の条件（アクセスがページの境界を跨ぐか否か等）に基づいてファイルシステムの選択を行った方が、より適切な選択を実現できるためである。
【０１１７】
但し、カウンタ値が最大であるカウンタが複数存在する場合に、今回のアクセスにおいて以下のように処理しても良い。カウンタ値が最も大きいカウンタが順方向カウンタ２５及び逆方向カウンタ２６の双方である場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【０１１８】
また、カウンタ値が最も大きいカウンタが順方向カウンタ２５及び同一カウンタ２７の双方である場合であって、かつ、ステップＳＰ３０７の判定において今回の書き込みアクセスがページの境界を跨ぐ場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。一方、カウンタ値が最も大きいカウンタが順方向カウンタ２５及び同一カウンタ２７の双方である場合であって、かつ、ステップＳＰ３０７の判定において今回の書き込みアクセスがページの境界を跨がない場合には、ログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。このように、選択すべき最適なファイルシステムが等しい結果となる場合には、その最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【０１１９】
また、カウンタ値が最も大きいカウンタが逆方向カウンタ２６及び同一カウンタ２７の双方である場合であって、かつ、ステップＳＰ３０７の判定において今回の書き込みアクセスがページの境界を跨ぐ場合には、ログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。このように、選択すべき最適なファイルシステムが等しい結果となる場合には、その最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。一方、カウンタ値が最も大きいカウンタが逆方向カウンタ２６及び同一カウンタ２７の双方である場合であって、かつ、ステップＳＰ３０７の判定において今回の書き込みアクセスがページの境界を跨がない場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【０１２０】
＜実施の形態３の変形例＞
図１４は、上記実施の形態３の変形例に係る制御部２の構成を示すブロック図である。本変形例では、図１１に示した逆方向カウンタ２６及び同一カウンタ２７が、非順方向カウンタ２８としてまとめられている。
【０１２１】
図１５は、本変形例に係る履歴情報１３のフォーマットを示す図である。本変形例では、図１２に示した逆方向及び同一の項目が、非順方向の項目としてまとめられている。
【０１２２】
図１６は、本変形例に係る制御部２に関して、ログ解析回路２２によるファイルシステムの選択手法を示すフローチャートである。
【０１２３】
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を、ＳＲＡＭ２３から取得する。その後、ログ解析回路２２は、対象ブロックに関する「順方向」のアクセス回数の情報を履歴情報１３から抽出して、その回数を順方向カウンタ２５に設定する。また、対象ブロックに関する「非順方向」のアクセス回数の情報を履歴情報１３から抽出して、その回数を非順方向カウンタ２８に設定する。
【０１２４】
次にステップＳＰ６０１においてログ解析回路２２は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスより大きいか否かを判定する。
【０１２５】
今回のアドレスが前回のアドレスより大きい場合（つまりステップＳＰ６０１における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ６０２においてログ解析回路２２は、順方向カウンタ２５のカウンタ値を「１」だけインクリメントする。
【０１２６】
一方、今回のアドレスが前回のアドレス以下である場合（つまりステップＳＰ６０１における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ６０３においてログ解析回路２２は、非順方向カウンタ２８のカウンタ値を「１」だけインクリメントする。
【０１２７】
ステップＳＰ６０２，ＳＰ６０３に引き続き、次にステップＳＰ６０４においてログ解析回路２２は、順方向カウンタ２５及び非順方向カウンタ２８の各カウンタ値を比較することにより、カウンタ値が最大であるカウンタを特定する。
【０１２８】
カウンタ値が最大であるカウンタが順方向カウンタ２５である場合（つまり順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値より大きい場合）には、次にステップＳＰ６０５においてログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。
【０１２９】
一方、カウンタ値が最大であるカウンタが非順方向カウンタ２８である場合（つまり順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値より小さい場合）には、次にステップＳＰ６０６においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【０１３０】
なお、ステップＳＰ６０４の判定において、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値に等しい場合には、ログ解析回路２２は、その対象ブロックに関して現在選択されているファイルシステムを維持する。今回のアクセスにおいてファイルシステムの選択を行うよりも、次回のアクセス時に、インクリメント後のカウンタ値やその他の条件（アクセスがページの境界を跨ぐか否か等）に基づいてファイルシステムの選択を行った方が、より適切な選択を実現できるためである。
【０１３１】
但し、ページ単位で論物変換を行う第１ファイルシステム３１は全てのアクセスパターンに対応可能であるため、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値に等しい場合には、ログ解析回路２２は第１ファイルシステム３１の適用を選択しても良い。第１ファイルシステム３１を選択することにより、無駄なブロック消去の発生を抑制することができる。
【０１３２】
＜実施の形態４＞
図１７は、本発明の実施の形態４に係る制御部２の構成を示すブロック図である。本実施の形態４に係る制御部２は、図２に示した上記実施の形態１に係る制御部２の構成から、合計カウンタ２４、順方向カウンタ２５、逆方向カウンタ２６、及び同一カウンタ２７を省略し、その代わりに合計カウンタ４０を追加したものである。
【０１３３】
図１８は、本発明の実施の形態４に係る履歴情報１３のフォーマットを示す図である。本実施の形態４に係る履歴情報１３は、図３に示した上記実施の形態１に係る履歴情報１３のフォーマットから、平均データ長、アクセス回数、前回のアクセスページ、及びアクセス回数の内訳の項目を省略し、その代わりに、ページ境界を跨ぐアクセス回数の項目を追加したものである。ページ境界を跨ぐアクセス回数は、これまでに対象ブロックに対して実行された、ページ境界を跨ぐ書き込みアクセスの合計回数である。
【０１３４】
図１７を参照して、外部のホストコンピュータ等からあるブロックを対象とする書き込みアクセスが行われた場合には、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を参照することにより、その対象ブロックに適用するファイルシステムとして、第１ファイルシステム３１及び第２ファイルシステム３２の一方を選択する。
【０１３５】
図１９は、本発明の実施の形態４に係る制御部２に関して、ログ解析回路２２によるファイルシステムの選択手法を示すフローチャートである。
【０１３６】
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路２２は、ＳＲＡＭ２３が保持している最新の履歴情報１３を、ＳＲＡＭ２３から取得する。その後、ログ解析回路２２は、対象ブロックに関する「ページ境界を跨ぐアクセス回数」の情報を履歴情報１３から抽出して、その回数を合計カウンタ４０に設定する。
【０１３７】
次にステップＳＰ４０１においてログ解析回路２２は、今回の書き込みアクセスがページ境界を跨ぐか否かを判定する。書き込みアクセスがページ境界を跨ぐか否かは、上述の式（２）を用いたステップＳＰ１１０と同様の手法によって判定することができる。
【０１３８】
今回の書き込みアクセスがページ境界を跨ぐ場合（つまりステップＳＰ４０１における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ４０２においてログ解析回路２２は、合計カウンタ４０のカウンタ値を「１」だけインクリメントする。
【０１３９】
一方、今回の書き込みアクセスがページ境界を跨がない場合（つまりステップＳＰ４０１における判定の結果が「ＮＯ」である場合）には、ステップＳＰ４０２がスキップされることにより、合計カウンタ４０の更新は行われない。
【０１４０】
次にステップＳＰ４０３においてログ解析回路２２は、合計カウンタ４０のカウンタ値が、予め設定した所定のしきい値ＴＨ２より大きいか否かを判定する。しきい値ＴＨ２の値としては、ページサイズ、ブロックサイズ、又は取り扱うコンテンツ等に応じて最適な値を設定することができる。例えば、ページサイズに等しい値を、しきい値ＴＨ２として設定することができる。あるいは、所望のデータに対して所望のファイルシステムが適用される値を解析によって求めて、その値をしきい値ＴＨ２として設定することができる。しきい値ＴＨ２に関する設定情報は、記憶部３内に格納しても良いし、記憶部３とは別の不揮発性の記憶媒体（ＲＯＭ等）に格納しても良い。
【０１４１】
合計カウンタ４０のカウンタ値がしきい値ＴＨ２以下である場合（つまりステップＳＰ４０３における判定の結果が「ＮＯ」である場合）には、次にステップＳＰ４０５においてログ解析回路２２は、その対象ブロックに関しては第１ファイルシステム３１の適用を選択する。
【０１４２】
一方、合計カウンタ４０のカウンタ値がしきい値ＴＨ２より大きい場合（つまりステップＳＰ４０３における判定の結果が「ＹＥＳ」である場合）には、次にステップＳＰ４０４においてログ解析回路２２は、その対象ブロックに関しては第２ファイルシステム３２の適用を選択する。
【０１４３】
＜実施の形態１〜４の変形例＞
上記実施の形態１〜４では、半導体記憶装置１が外部のホストコンピュータ等から書き込みコマンドを１回受信する毎に、ログ解析回路２２によってファイルシステムの選択処理が実行された。この例に限らず、書き込みコマンドを複数回受信したことを条件として、ファイルシステムの選択処理を実行しても良い。これにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。但し、この場合であっても、履歴情報１３の更新は、書き込みコマンドを１回受信する毎に実行する必要がある。
【０１４４】
＜まとめ＞
上記実施の形態１〜４に係る半導体記憶装置１によれば、制御部２は、ページ単位で論物変換を行う第１ファイルシステム３１と、ブロック単位で論物変換を行う第２ファイルシステム３２とを有している。そして、各ブロックに関する書き込みアクセスの履歴情報１３を保持し、当該履歴情報１３に基づいて、各ブロックに関して第１ファイルシステム３１及び第２ファイルシステム３２の一方を選択する。従って、履歴情報１３に基づき、データサイズやアクセスパターンに応じて最適なファイルシステムをブロック毎に選択することができ、その結果、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【０１４５】
また、上記実施の形態１に係る半導体記憶装置１によれば、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１以下である場合には、第１ファイルシステム３１を選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１を超える場合において、カウンタ２５〜２７の中で順方向カウンタ２５（第１のカウンタ）のカウンタ値が最も大きい場合には、第２ファイルシステム３２を選択する。このように、データサイズが大きいデータをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２ファイルシステム３２を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１を超える場合において、カウンタ２５〜２７の中で逆方向カウンタ２５（第２のカウンタ）のカウンタ値が最も大きい場合には、第１ファイルシステム３１を選択する。このように、データサイズが大きいデータをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【０１４６】
また、上記実施の形態１に係る半導体記憶装置１によれば、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１を超え、かつ、カウンタ２５〜２７の中で同一カウンタ２７（第３のカウンタ）のカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、第１ファイルシステム３１を選択する。このように、データサイズが大きいデータを前回にアクセスしたページと同一のページに書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨ぐ場合には、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１を超え、かつ、カウンタ２５〜２７の中で同一カウンタ２７のカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨がない場合には、第２ファイルシステム３２を選択する。このように、データサイズが大きいデータを前回にアクセスしたページと同一のページに書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨がない場合には、ブロック単位で論物変換を行う第２ファイルシステム３２を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【０１４７】
また、上記実施の形態１に係る半導体記憶装置１によれば、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１を超える場合において、カウンタ２５〜２７の中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する。このように、カウンタ値が最も大きいカウンタが複数存在する場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【０１４８】
また、上記実施の形態１の変形例に係る半導体記憶装置１によれば、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１以下である場合には、第１ファイルシステム３１を選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１を超える場合において、順方向カウンタ２５（第１のカウンタ）のカウンタ値が非順方向カウンタ２８（第２のカウンタ）のカウンタ値より大きい場合には、第２ファイルシステム３２を選択する。このように、データサイズが大きいデータをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２ファイルシステム３２を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１を超える場合において、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値より小さい場合には、第１ファイルシステム３１を選択する。このように、データサイズが大きいデータをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【０１４９】
また、上記実施の形態１の変形例に係る半導体記憶装置１によれば、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１を超える場合において、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する。このように、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値に等しい場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【０１５０】
また、上記実施の形態２に係る半導体記憶装置１によれば、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１以下である場合には、第１ファイルシステム３１を選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、書き込みデータ長の平均値がしきい値ＴＨ１を超える場合には、第２ファイルシステム３２を選択する。このように、データサイズが大きいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２ファイルシステム３２を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【０１５１】
また、上記実施の形態３に係る半導体記憶装置１によれば、制御部２は、カウンタ２５〜２７の中で順方向カウンタ２５（第１のカウンタ）のカウンタ値が最も大きい場合には、第２ファイルシステム３２を選択する。このように、データをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２ファイルシステム３２を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、カウンタ２５〜２７の中で逆方向カウンタ２６（第２のカウンタ）のカウンタ値が最も大きい場合には、第１ファイルシステム３１を選択する。このように、データをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【０１５２】
また、上記実施の形態３に係る半導体記憶装置１によれば、制御部２は、カウンタ２５〜２７の中で同一カウンタ２７（第３のカウンタ）のカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、第１ファイルシステム３１を選択する。このように、前回にアクセスしたページと同一のページにデータを書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨ぐ場合には、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、カウンタ２５〜２７の中で同一カウンタ２７のカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨がない場合には、第２ファイルシステム３２を選択する。このように、前回にアクセスしたページと同一のページにデータを書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨がない場合には、ブロック単位で論物変換を行う第２ファイルシステム３２を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【０１５３】
また、上記実施の形態３に係る半導体記憶装置１によれば、制御部２は、カウンタ２５〜２７の中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する。このように、カウンタ値が最も大きいカウンタが複数存在する場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【０１５４】
また、上記実施の形態３の変形例に係る半導体記憶装置１によれば、制御部２は、順方向カウンタ２５（第１のカウンタ）のカウンタ値が非順方向カウンタ２８（第２のカウンタ）のカウンタ値より大きい場合には、第２ファイルシステム３２を選択する。このように、データをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２ファイルシステム３２を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値より小さい場合には、第１ファイルシステム３１を選択する。このように、データをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【０１５５】
また、上記実施の形態３の変形例に係る半導体記憶装置１によれば、制御部２は、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する。このように、順方向カウンタ２５のカウンタ値が非順方向カウンタ２８のカウンタ値に等しい場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
【０１５６】
また、上記実施の形態４に係る半導体記憶装置１によれば、制御部２は、ページの境界を跨ぐ書き込みアクセスが行われた回数がしきい値ＴＨ２以下である場合には、第１ファイルシステム３１を選択する。このように、ページの境界を跨ぐ書き込みアクセスが頻発しないブロックに関しては、ページ単位で論物変換を行う第１ファイルシステム３１を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部２は、ページの境界を跨ぐ書き込みアクセスが行われた回数がしきい値ＴＨ２を超える場合には、第２ファイルシステム３２を選択する。このように、ページの境界を跨ぐ書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第２ファイルシステム３２を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
【符号の説明】
【０１５７】
１  半導体記憶装置
２  制御部
３  記憶部
１３  履歴情報
２１  メモリコントローラ
２２  ログ解析回路
２３  ＳＲＡＭ
２４  合計カウンタ
２５  順方向カウンタ
２６  逆方向カウンタ
２７  同一カウンタ
２８  非順方向カウンタ
３１  第１ファイルシステム
３２  第２ファイルシステム
４０  合計カウンタ
【図１】
2014071611.tif 000003
【図２】
2014071611.tif 000004
【図３】
2014071611.tif 000005
【図４】
2014071611.tif 000006
【図５】
2014071611.tif 000007
【図６】
2014071611.tif 000008
【図７】
2014071611.tif 000009
【図８】
2014071611.tif 000010
【図９】
2014071611.tif 000011
【図１０】
2014071611.tif 000012
【図１１】
2014071611.tif 000013
【図１２】
2014071611.tif 000014
【図１３】
2014071611.tif 000015
【図１４】
2014071611.tif 000016
【図１５】
2014071611.tif 000017
【図１６】
2014071611.tif 000018
【図１７】
2014071611.tif 000019
【図１８】
2014071611.tif 000020
【図１９】
2014071611.tif 000021