JP5952152B2 - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP5952152B2
JP5952152B2 JP2012216555A JP2012216555A JP5952152B2 JP 5952152 B2 JP5952152 B2 JP 5952152B2 JP 2012216555 A JP2012216555 A JP 2012216555A JP 2012216555 A JP2012216555 A JP 2012216555A JP 5952152 B2 JP5952152 B2 JP 5952152B2
Authority
JP
Japan
Prior art keywords
counter
file system
value
address
writing
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.)
Expired - Fee Related
Application number
JP2012216555A
Other languages
English (en)
Other versions
JP2014071611A (ja
Inventor
裕子 玉川
裕子 玉川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2012216555A priority Critical patent/JP5952152B2/ja
Publication of JP2014071611A publication Critical patent/JP2014071611A/ja
Application granted granted Critical
Publication of JP5952152B2 publication Critical patent/JP5952152B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、半導体記憶装置に関する。
一般的に、NAND型フラッシュメモリの記憶領域は複数のブロックに分割されており、各ブロックには複数のページが含まれている。NAND型フラッシュメモリにおいて、データの書き込み及び読み出しの最小単位はページであり、データの消去の最小単位はブロックである。
このようなNAND型フラッシュメモリに適用されるファイルシステムとしては、ページ単位で論理−物理アドレス変換(以下「論物変換」と称す)を行うことによってページ単位でのデータの書き込みが可能なファイルシステムや、ブロック単位で論物変換を行うことによってブロック単位でのデータの書き込みが可能なファイルシステム等が知られている。
なお、下記特許文献1には、書き込み回数の上限値(4000回)に対して所定のしきい値(2000回)が設定され、書き込み回数がしきい値未満である場合には4値データの書き込みが行われ、一方、書き込み回数がしきい値以上である場合には2値データの書き込みが行われる、NAND型フラッシュメモリが開示されている。
国際公開第WO2009/090731号
NAND型フラッシュメモリに適用するファイルシステムとして、ページ単位で論物変換を行うファイルシステムを採用すると、データサイズが大きいデータを書き込む場合や、複数のページへのシーケンシャルアクセスによってデータを書き込む場合に、不要な書き込みや消去が増えてしまう。一方、ブロック単位で論物変換を行うファイルシステムを採用すると、データサイズが小さいデータを書き込む場合や、複数のページへのランダムアクセスによってデータを書き込む場合に、不要な書き込みや消去が増えてしまう。
本発明はかかる事情に鑑みて成されたものであり、各ブロックに関する書き込みアクセスの履歴情報に基づいてブロック毎に最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能な、半導体記憶装置を得ることを目的とする。
本発明の第1の態様に係る半導体記憶装置は、それぞれに複数のページを含む複数のブロックを有する記憶部と、前記記憶部を制御する制御部と、を備え、前記制御部は、ページ単位で論理−物理アドレス変換を行う第1のファイルシステムと、ブロック単位で論理−物理アドレス変換を行う第2のファイルシステムと、を有し、前記制御部は、各ブロックに関する書き込みアクセスの履歴情報を保持し、当該履歴情報に基づいて、各ブロックに関して第1のファイルシステム及び第2のファイルシステムの一方を選択することを特徴とするものである。
第1の態様に係る半導体記憶装置によれば、制御部は、ページ単位で論理−物理アドレス変換を行う第1のファイルシステムと、ブロック単位で論理−物理アドレス変換を行う第2のファイルシステムとを有している。そして、各ブロックに関する書き込みアクセスの履歴情報を保持し、当該履歴情報に基づいて、各ブロックに関して第1のファイルシステム及び第2のファイルシステムの一方を選択する。従って、履歴情報に基づき、データサイズやアクセスパターンに応じて最適なファイルシステムをブロック毎に選択することができ、その結果、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
本発明の第2の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、前記履歴情報には、書き込みデータ長の平均値と、前回に書き込みアクセスされたページのアドレスと、が含まれ、前記制御部は、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第1のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより小さい場合にカウンタ値がインクリメントされる第2のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスと等しい場合にカウンタ値がインクリメントされる第3のカウンタと、を有し、前記制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第1のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1乃至第3のカウンタの中で前記第1のカウンタのカウンタ値が最も大きい場合には、前記第2のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1乃至第3のカウンタの中で前記第2のカウンタのカウンタ値が最も大きい場合には、前記第1のファイルシステムを選択することを特徴とするものである。
第2の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、第1のファイルシステムを選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第1乃至第3のカウンタの中で第1のカウンタのカウンタ値が最も大きい場合には、第2のファイルシステムを選択する。このように、データサイズが大きいデータをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第1乃至第3のカウンタの中で第2のカウンタのカウンタ値が最も大きい場合には、第1のファイルシステムを選択する。このように、データサイズが大きいデータをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
本発明の第3の態様に係る半導体記憶装置は、第2の態様に係る半導体記憶装置において特に、前記制御部は、書き込みデータ長の平均値が前記しきい値を超え、かつ、前記第1乃至第3のカウンタの中で前記第3のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、前記第1のファイルシステムを選択し、今回の書き込みアクセスがページの境界を跨がない場合には、前記第2のファイルシステムを選択することを特徴とするものである。
第3の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値がしきい値を超え、かつ、第1乃至第3のカウンタの中で第3のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、第1のファイルシステムを選択する。このように、データサイズが大きいデータを前回にアクセスしたページと同一のページに書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨ぐ場合には、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超え、かつ、第1乃至第3のカウンタの中で第3のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨がない場合には、第2のファイルシステムを選択する。このように、データサイズが大きいデータを前回にアクセスしたページと同一のページに書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨がない場合には、ブロック単位で論物変換を行う第2のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
本発明の第4の態様に係る半導体記憶装置は、第2又は第3の態様に係る半導体記憶装置において特に、前記制御部は、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1乃至第3のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持することを特徴とするものである。
第4の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第1乃至第3のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する。このように、カウンタ値が最も大きいカウンタが複数存在する場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
本発明の第5の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、前記履歴情報には、書き込みデータ長の平均値と、前回に書き込みアクセスされたページのアドレスと、が含まれ、前記制御部は、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第1のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレス以下である場合にカウンタ値がインクリメントされる第2のカウンタと、を有し、前記制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第1のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値より大きい場合には、前記第2のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値より小さい場合には、前記第1のファイルシステムを選択することを特徴とするものである。
第5の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、第1のファイルシステムを選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第1のカウンタのカウンタ値が第2のカウンタのカウンタ値より大きい場合には、第2のファイルシステムを選択する。このように、データサイズが大きいデータをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第1のカウンタのカウンタ値が第2のカウンタのカウンタ値より小さい場合には、第1のファイルシステムを選択する。このように、データサイズが大きいデータをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
本発明の第6の態様に係る半導体記憶装置は、第5の態様に係る半導体記憶装置において特に、前記制御部は、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持することを特徴とするものである。
第6の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値がしきい値を超える場合において、第1のカウンタのカウンタ値が第2のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する。このように、第1のカウンタのカウンタ値が第2のカウンタのカウンタ値に等しい場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
本発明の第7の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、前記履歴情報には、書き込みデータ長の平均値が含まれ、前記制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第1のファイルシステムを選択し、書き込みデータ長の平均値が前記しきい値を超える場合には、前記第2のファイルシステムを選択することを特徴とするものである。
第7の態様に係る半導体記憶装置によれば、制御部は、書き込みデータ長の平均値が所定のしきい値以下である場合には、第1のファイルシステムを選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、書き込みデータ長の平均値がしきい値を超える場合には、第2のファイルシステムを選択する。このように、データサイズが大きいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
本発明の第8の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、前記履歴情報には、前回に書き込みアクセスされたページのアドレスが含まれ、前記制御部は、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第1のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより小さい場合にカウンタ値がインクリメントされる第2のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスと等しい場合にカウンタ値がインクリメントされる第3のカウンタと、を有し、前記制御部は、前記第1乃至第3のカウンタの中で前記第1のカウンタのカウンタ値が最も大きい場合には、前記第2のファイルシステムを選択し、前記第1乃至第3のカウンタの中で前記第2のカウンタのカウンタ値が最も大きい場合には、前記第1のファイルシステムを選択することを特徴とするものである。
第8の態様に係る半導体記憶装置によれば、制御部は、第1乃至第3のカウンタの中で第1のカウンタのカウンタ値が最も大きい場合には、第2のファイルシステムを選択する。このように、データをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、第1乃至第3のカウンタの中で第2のカウンタのカウンタ値が最も大きい場合には、第1のファイルシステムを選択する。このように、データをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
本発明の第9の態様に係る半導体記憶装置は、第8の態様に係る半導体記憶装置において特に、前記制御部は、前記第1乃至第3のカウンタの中で前記第3のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、前記第1のファイルシステムを選択し、今回の書き込みアクセスがページの境界を跨がない場合には、前記第2のファイルシステムを選択することを特徴とするものである。
第9の態様に係る半導体記憶装置によれば、制御部は、第1乃至第3のカウンタの中で第3のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、第1のファイルシステムを選択する。このように、前回にアクセスしたページと同一のページにデータを書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨ぐ場合には、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、第1乃至第3のカウンタの中で第3のカウンタのカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨がない場合には、第2のファイルシステムを選択する。このように、前回にアクセスしたページと同一のページにデータを書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨がない場合には、ブロック単位で論物変換を行う第2のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
本発明の第10の態様に係る半導体記憶装置は、第8又は第9の態様に係る半導体記憶装置において特に、前記制御部は、前記第1乃至第3のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持することを特徴とするものである。
第10の態様に係る半導体記憶装置によれば、制御部は、第1乃至第3のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する。このように、カウンタ値が最も大きいカウンタが複数存在する場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
本発明の第11の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、前記履歴情報には、前回に書き込みアクセスされたページのアドレスが含まれ、前記制御部は、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第1のカウンタと、今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレス以下である場合にカウンタ値がインクリメントされる第2のカウンタと、を有し、前記制御部は、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値より大きい場合には、前記第2のファイルシステムを選択し、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値より小さい場合には、前記第1のファイルシステムを選択することを特徴とするものである。
第11の態様に係る半導体記憶装置によれば、制御部は、第1のカウンタのカウンタ値が第2のカウンタのカウンタ値より大きい場合には、第2のファイルシステムを選択する。このように、データをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、第1のカウンタのカウンタ値が第2のカウンタのカウンタ値より小さい場合には、第1のファイルシステムを選択する。このように、データをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
本発明の第12の態様に係る半導体記憶装置は、第11の態様に係る半導体記憶装置において特に、前記制御部は、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持することを特徴とするものである。
第12の態様に係る半導体記憶装置によれば、制御部は、第1のカウンタのカウンタ値が第2のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する。このように、第1のカウンタのカウンタ値が第2のカウンタのカウンタ値に等しい場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
本発明の第13の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、前記履歴情報には、ページの境界を跨ぐ書き込みアクセスが行われた回数が含まれ、前記制御部は、前記回数が所定のしきい値以下である場合には、前記第1のファイルシステムを選択し、前記回数が前記しきい値を超える場合には、前記第2のファイルシステムを選択することを特徴とするものである。
第13の態様に係る半導体記憶装置によれば、制御部は、ページの境界を跨ぐ書き込みアクセスが行われた回数が所定のしきい値以下である場合には、第1のファイルシステムを選択する。このように、ページの境界を跨ぐ書き込みアクセスが頻発しないブロックに関しては、ページ単位で論物変換を行う第1のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部は、ページの境界を跨ぐ書き込みアクセスが行われた回数がしきい値を超える場合には、第2のファイルシステムを選択する。このように、ページの境界を跨ぐ書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2のファイルシステムを適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
本発明によれば、各ブロックに関する書き込みアクセスの履歴情報に基づいてブロック毎に最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能な、半導体記憶装置を得ることができる。
半導体記憶装置のシステム構成を簡略化して示す図である。 本発明の実施の形態1に係る制御部の構成を示すブロック図である。 本発明の実施の形態1に係る履歴情報のフォーマットを示す図である。 本発明の実施の形態1に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。 本発明の実施の形態1の変形例に係る制御部の構成を示すブロック図である。 本発明の実施の形態1の変形例に係る履歴情報のフォーマットを示す図である。 本発明の実施の形態1の変形例に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。 本発明の実施の形態2に係る制御部の構成を示すブロック図である。 本発明の実施の形態2に係る履歴情報のフォーマットを示す図である。 本発明の実施の形態2に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。 本発明の実施の形態3に係る制御部の構成を示すブロック図である。 本発明の実施の形態3に係る履歴情報のフォーマットを示す図である。 本発明の実施の形態3に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。 本発明の実施の形態3の変形例に係る制御部の構成を示すブロック図である。 本発明の実施の形態3の変形例に係る履歴情報のフォーマットを示す図である。 本発明の実施の形態3の変形例に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。 本発明の実施の形態4に係る制御部の構成を示すブロック図である。 本発明の実施の形態4に係る履歴情報のフォーマットを示す図である。 本発明の実施の形態4に係る制御部に関して、ログ解析回路によるファイルシステムの選択手法を示すフローチャートである。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、半導体記憶装置1のシステム構成を簡略化して示す図である。図1に示すように半導体記憶装置1は、制御部2と、制御部2によって制御される記憶部3とを備えている。記憶部3は、例えばNAND型のフラッシュメモリによって構成されている。記憶部3は複数のブロックに分割されており、各ブロックには複数のページ(例えば64ページ)が含まれている。1ページのデータサイズは、例えば4224バイトである。NAND型フラッシュメモリにおいて、ページはデータの書き込み及び読み出しの最小単位であり、ブロックはデータの消去の最小単位である。
記憶部3には、ユーザが使用するユーザデータ11が格納される。また、記憶部3内の特定のブロックには、制御部2が記憶部3を管理するために必要な情報である管理情報12が格納される。また、記憶部3には、各ブロックに関する書き込みアクセスの履歴を示す情報である履歴情報13(詳細は後述する)が格納される。履歴情報13は、ユーザデータ11が格納されている領域のサイドバンド(冗長領域)に格納しても良いし、管理情報12が格納されている特定のブロック内に格納しても良い。また、履歴情報13は、記憶部3とは別の不揮発性の記憶媒体(ROM等)に格納しても良い。
<実施の形態1>
図2は、本発明の実施の形態1に係る制御部2の構成を示すブロック図である。図2に示すように制御部2は、メモリコントローラ21、ログ解析回路22、SRAM23、合計カウンタ24、順方向カウンタ25、逆方向カウンタ26、及び同一カウンタ27を備えて構成されている。なお、カウンタ24〜27は、ログ解析回路22内に設けても良い。また、カウンタ24〜27及びログ解析回路22は、メモリコントローラ21内に設けても良い。
SRAM23内には、記憶部3から読み出された履歴情報13が格納されている。
メモリコントローラ21は、記憶部3内に格納されるデータを管理するためのデータ管理方法(ファイルシステム)として、第1ファイルシステム31と第2ファイルシステム32とを有している。
NAND型のフラッシュメモリに適用されるファイルシステムとしては様々なファイルシステムが知られているが、本実施の形態に係る半導体記憶装置1において、第1ファイルシステム31はページ単位で論物変換を行う任意のファイルシステムであり、第2ファイルシステム32はブロック単位で論物変換を行う任意のファイルシステムである。
第1ファイルシステム31は、ページ単位で論物変換を行うため、ページ単位でのデータの書き込みが可能である。従って、第1ファイルシステム31は、データサイズが小さいデータ(例えば1ページ未満のデータ)を書き込む使用態様や、連続しない複数のページへのランダムアクセスによってデータを書き込む使用態様において有利である。また、第1ファイルシステム31では、ブロックサイズと同等のキャッシュ領域が記憶部3内(又は制御部2内)に確保され、キャッシュ領域のデータサイズが大きいため、同一のページに連続して書き込みアクセスを行う場合でも不要な消去は発生しない。従って、第1ファイルシステム31は、データサイズの大きいデータ(例えばページ境界を跨ぐようなデータ)を同一のページに連続して書き込む使用態様においても有利である。
第2ファイルシステム32は、ブロック単位で論物変換を行うため、ブロック単位でのデータの書き込みが可能である。従って、第2ファイルシステム32は、データサイズが大きいデータ(例えば1ページ以上のデータ)を書き込む使用態様や、連続する複数のページへのシーケンシャルアクセスによってデータを書き込む使用態様において有利である。また、第2ファイルシステム32では、ページサイズと同等のキャッシュ領域が記憶部3内(又は制御部2内)に確保され、キャッシュ領域のデータサイズが小さいため、データサイズの大きいデータを同一のページに連続して書き込む使用態様においては、消去回数が多くなるため不利である。
図3は、本発明の実施の形態1に係る履歴情報13のフォーマットを示す図である。図3に示すように本実施の形態に係る履歴情報13には、論理ブロックアドレスで区別される複数のブロックの各々に関して、平均データ長、アクセス回数、前回のアクセスページ、及びアクセス回数の内訳が記述されている。履歴情報13は、半導体記憶装置1の電源が投入された直後のタイミングで、記憶部3からSRAM23に読み出される。また、SRAM23に格納されている履歴情報13は、外部のホストコンピュータ等から半導体記憶装置1に対して書き込みアクセスが行われる度に、ログ解析回路22又はメモリコントローラ2によって最新の情報に更新され、最新の履歴情報13がSRAM23内に保持される。また、SRAM23内に保持されている最新の履歴情報13は、(1)半導体記憶装置1の電源がオフされる直前のタイミング、(2)記憶部3内の履歴情報13を前回更新してから一定時間が経過したタイミング、(3)記憶部3内の履歴情報13を更新する旨の特定のコマンドが外部のホストコンピュータ等から入力されたタイミング、(4)特定の論物変換が実行されたタイミング、等の所定のタイミングで、SRAM23から記憶部3に転送され、記憶部3内に格納されている履歴情報13が最新の情報に更新される。
平均データ長は、これまでに対象ブロックに書き込まれたデータのデータ長の平均値である。なお、記憶部3の記憶容量に余裕がある場合には、これまでに対象ブロックに書き込まれた各データのデータ長自体を履歴情報13に記述しておき、これらの情報に基づいて平均データ長を算出しても良い。
アクセス回数は、これまでに対象ブロックに対して実行された書き込みアクセスの合計回数である。
前回のアクセスページは、対象ブロックに対する前回の書き込みアクセスにおいてアクセスされたページのアドレスである。
アクセス回数の内訳は、順方向、逆方向、及び同一に分類されている。対象ブロックに対する今回の書き込みアクセスによってアクセスするページのアドレスが、同一ブロックに対する前回の書き込みアクセスにおいてアクセスされたページのアドレスより大きい場合には、「順方向」のアクセス回数が「1」だけインクリメントされる。また、対象ブロックに対する今回の書き込みアクセスによってアクセスするページのアドレスが、同一ブロックに対する前回の書き込みアクセスにおいてアクセスされたページのアドレスより小さい場合には、「逆方向」のアクセス回数が「1」だけインクリメントされる。また、対象ブロックに対する今回の書き込みアクセスによってアクセスするページのアドレスが、同一ブロックに対する前回の書き込みアクセスにおいてアクセスされたページのアドレスに等しい場合には、「同一」のアクセス回数が「1」だけインクリメントされる。
図2を参照して、外部のホストコンピュータ等からあるブロックを対象とする書き込みアクセスが行われた場合には、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を参照することにより、その対象ブロックに適用するファイルシステムとして、第1ファイルシステム31及び第2ファイルシステム32の一方を選択する。
図4は、本発明の実施の形態1に係る制御部2に関して、ログ解析回路22によるファイルシステムの選択手法を示すフローチャートである。
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を、SRAM23から取得する。その後、ログ解析回路22は、対象ブロックに関する「アクセス回数」の情報を履歴情報13から抽出して、その回数を合計カウンタ24に設定する。また、対象ブロックに関する「順方向」のアクセス回数の情報を履歴情報13から抽出して、その回数を順方向カウンタ25に設定する。また、対象ブロックに関する「逆方向」のアクセス回数の情報を履歴情報13から抽出して、その回数を逆方向カウンタ26に設定する。また、対象ブロックに関する「同一」のアクセス回数の情報を履歴情報13から抽出して、その回数を同一カウンタ27に設定する。
次にステップSP101においてログ解析回路22は、履歴情報13に記述されている対象ブロックに関する情報と、書き込みコマンドに含まれている書き込みデータのデータ長とに基づいて、今回の書き込みアクセスを反映した対象ブロックの平均データ長を算出する。具体的には、
AveragePC1=((AveragePC0*AccessCount)+PC)/(AccessCount+1) ・・・(1)
なる演算を実行することにより、最新の平均データ長を算出する。
式(1)において、「AveragePC1」は、今回の書き込みアクセスを反映した対象ブロックの平均データ長(つまり最新の平均データ長)である。「AveragePC0」は、履歴情報13に記述されている平均データ長(つまり前回までの書き込みアクセスが反映された平均データ長)である。「AccessCount」は、履歴情報13に記述されているアクセス回数である。「PC」は、今回の書き込みアクセスにおいて書き込まれるデータのデータ長である。
次にステップSP102においてログ解析回路22は、合計カウンタ24のカウンタ値を「1」だけインクリメントする。
次にステップSP103においてログ解析回路22は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスと同一であるか否かを判定する。
両アドレスが一致する場合(つまりステップSP103における判定の結果が「YES」である場合)には、次にステップSP105においてログ解析回路22は、同一カウンタ27のカウンタ値を「1」だけインクリメントする。
一方、両アドレスが一致しない場合(つまりステップSP103における判定の結果が「NO」である場合)には、次にステップSP104においてログ解析回路22は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスより大きいか否かを判定する。
今回のアドレスが前回のアドレスより大きい場合(つまりステップSP104における判定の結果が「YES」である場合)には、次にステップSP106においてログ解析回路22は、順方向カウンタ25のカウンタ値を「1」だけインクリメントする。
一方、今回のアドレスが前回のアドレスより小さい場合(つまりステップSP104における判定の結果が「NO」である場合)には、次にステップSP107においてログ解析回路22は、逆方向カウンタ26のカウンタ値を「1」だけインクリメントする。
ステップSP105〜SP107に引き続き、次にステップSP108においてログ解析回路22は、ステップSP101で算出した平均データ長が、予め設定した所定のしきい値TH1より大きいか否かを判定する。しきい値TH1の値としては、ページサイズ又はブロックサイズ等に応じて最適な値を設定することができる。例えば、ページサイズに等しい値を、しきい値TH1として設定することができる。あるいは、所望のデータに対して所望のファイルシステムが適用される値を解析によって求めて、その値をしきい値TH1として設定することができる。例えば、図1に示した管理情報12に対しては第1ファイルシステム31を適用し、ユーザデータ11に対しては第2ファイルシステム32を適用したい場合には、管理情報12のデータサイズより大きく、ユーザデータ11の転送データサイズより小さい値を、しきい値TH1として設定することができる。しきい値TH1に関する設定情報は、記憶部3内に格納しても良いし、記憶部3とは別の不揮発性の記憶媒体(ROM等)に格納しても良い。
平均データ長がしきい値TH1以下である場合(つまりステップSP108における判定の結果が「NO」である場合)には、次にステップSP112においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
一方、平均データ長がしきい値TH1より大きい場合(つまりステップSP108における判定の結果が「YES」である場合)には、次にステップSP109においてログ解析回路22は、順方向カウンタ25、逆方向カウンタ26、及び同一カウンタ27の各カウンタ値を比較することにより、カウンタ値が最大であるカウンタを特定する。
カウンタ値が最大であるカウンタが逆方向カウンタ26である場合には、次にステップSP112においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
カウンタ値が最大であるカウンタが順方向カウンタ25である場合には、次にステップSP111においてログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。
カウンタ値が最大であるカウンタが同一カウンタ27である場合には、次にステップSP110においてログ解析回路22は、今回の書き込みアクセスがページの境界を跨ぐか否かを判定する。具体的には、
RoundDown((Offset+PC)/NSector)≧1 ・・・(2)
なる演算を行うことにより、式(2)の関係を満たす場合には書き込みアクセスがページの境界を跨ぐと判定し、式(2)の関係を満たさない場合には書き込みアクセスがページの境界を跨がないと判定する。
式(2)において、「RoundDown」は、小数点以下の切り捨てを意味する。「Offset」は、ページの先頭アドレスと、ページ内において書き込みが開始される先頭アドレスとの差である。「PC」は、今回の書き込みアクセスにおいて書き込まれるデータのデータ長である。「NSector」は、1ページ内に含まれるセクタ数である。
今回の書き込みアクセスがページの境界を跨ぐ場合(つまりステップSP110における判定の結果が「YES」である場合)には、次にステップSP112においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
一方、今回の書き込みアクセスがページの境界を跨がない場合(つまりステップSP110における判定の結果が「NO」である場合)には、次にステップSP111においてログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。
なお、ステップSP109の判定において、カウンタ値が最大であるカウンタが複数存在する場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステム(つまり前回の書き込みアクセスに対応して選択されたファイルシステム)を維持する。今回のアクセスにおいてファイルシステムの選択を行うよりも、次回のアクセス時に、インクリメント後のカウンタ値やその他の条件(アクセスがページの境界を跨ぐか否か等)に基づいてファイルシステムの選択を行った方が、より適切な選択を実現できるためである。
但し、カウンタ値が最大であるカウンタが複数存在する場合に、今回のアクセスにおいて以下のように処理しても良い。カウンタ値が最も大きいカウンタが順方向カウンタ25及び逆方向カウンタ26の双方である場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
また、カウンタ値が最も大きいカウンタが順方向カウンタ25及び同一カウンタ27の双方である場合であって、かつ、ステップSP110の判定において今回の書き込みアクセスがページの境界を跨ぐ場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。一方、カウンタ値が最も大きいカウンタが順方向カウンタ25及び同一カウンタ27の双方である場合であって、かつ、ステップSP110の判定において今回の書き込みアクセスがページの境界を跨がない場合には、ログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。このように、選択すべき最適なファイルシステムが等しい結果となる場合には、その最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、カウンタ値が最も大きいカウンタが逆方向カウンタ26及び同一カウンタ27の双方である場合であって、かつ、ステップSP110の判定において今回の書き込みアクセスがページの境界を跨ぐ場合には、ログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。このように、選択すべき最適なファイルシステムが等しい結果となる場合には、その最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。一方、カウンタ値が最も大きいカウンタが逆方向カウンタ26及び同一カウンタ27の双方である場合であって、かつ、ステップSP110の判定において今回の書き込みアクセスがページの境界を跨がない場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
<実施の形態1の変形例>
図5は、上記実施の形態1の変形例に係る制御部2の構成を示すブロック図である。本変形例では、図2に示した逆方向カウンタ26及び同一カウンタ27が、非順方向カウンタ28としてまとめられている。
図6は、本変形例に係る履歴情報13のフォーマットを示す図である。本変形例では、図3に示した逆方向及び同一の項目が、非順方向の項目としてまとめられている。
図7は、本変形例に係る制御部2に関して、ログ解析回路22によるファイルシステムの選択手法を示すフローチャートである。
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を、SRAM23から取得する。その後、ログ解析回路22は、対象ブロックに関する「アクセス回数」の情報を履歴情報13から抽出して、その回数を合計カウンタ24に設定する。また、対象ブロックに関する「順方向」のアクセス回数の情報を履歴情報13から抽出して、その回数を順方向カウンタ25に設定する。また、対象ブロックに関する「非順方向」のアクセス回数の情報を履歴情報13から抽出して、その回数を非順方向カウンタ28に設定する。
次にステップSP501においてログ解析回路22は、履歴情報13に記述されている対象ブロックに関する情報と、書き込みコマンドに含まれている書き込みデータのデータ長とに基づいて、今回の書き込みアクセスを反映した対象ブロックの平均データ長を算出する。具体的には、上述の式(1)で示した演算を実行することにより、最新の平均データ長を算出する。
次にステップSP502においてログ解析回路22は、合計カウンタ24のカウンタ値を「1」だけインクリメントする。
次にステップSP503においてログ解析回路22は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスより大きいか否かを判定する。
今回のアドレスが前回のアドレスより大きい場合(つまりステップSP503における判定の結果が「YES」である場合)には、次にステップSP504においてログ解析回路22は、順方向カウンタ25のカウンタ値を「1」だけインクリメントする。
一方、今回のアドレスが前回のアドレス以下である場合(つまりステップSP503における判定の結果が「NO」である場合)には、次にステップSP505においてログ解析回路22は、非順方向カウンタ28のカウンタ値を「1」だけインクリメントする。
ステップSP504,SP505に引き続き、次にステップSP506においてログ解析回路22は、ステップSP501で算出した平均データ長が、予め設定した所定のしきい値TH1より大きいか否かを判定する。
平均データ長がしきい値TH1以下である場合(つまりステップSP506における判定の結果が「NO」である場合)には、次にステップSP509においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
一方、平均データ長がしきい値TH1より大きい場合(つまりステップSP506における判定の結果が「YES」である場合)には、次にステップSP507においてログ解析回路22は、順方向カウンタ25及び非順方向カウンタ28の各カウンタ値を比較することにより、カウンタ値が最大であるカウンタを特定する。
カウンタ値が最大であるカウンタが順方向カウンタ25である場合(つまり順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値より大きい場合)には、次にステップSP508においてログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。
一方、カウンタ値が最大であるカウンタが非順方向カウンタ28である場合(つまり順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値より小さい場合)には、次にステップSP509においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
なお、ステップSP507の判定において、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値に等しい場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステムを維持する。今回のアクセスにおいてファイルシステムの選択を行うよりも、次回のアクセス時に、インクリメント後のカウンタ値やその他の条件(アクセスがページの境界を跨ぐか否か等)に基づいてファイルシステムの選択を行った方が、より適切な選択を実現できるためである。
但し、ページ単位で論物変換を行う第1ファイルシステム31は全てのアクセスパターンに対応可能であるため、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値に等しい場合には、ログ解析回路22は第1ファイルシステム31の適用を選択しても良い。第1ファイルシステム31を選択することにより、無駄なブロック消去の発生を抑制することができる。
<実施の形態2>
図8は、本発明の実施の形態2に係る制御部2の構成を示すブロック図である。本実施の形態2に係る制御部2は、図2に示した上記実施の形態1に係る制御部2の構成から、順方向カウンタ25、逆方向カウンタ26、及び同一カウンタ27を省略したものである。
図9は、本発明の実施の形態2に係る履歴情報13のフォーマットを示す図である。本実施の形態2に係る履歴情報13は、図3に示した上記実施の形態1に係る履歴情報13のフォーマットから、前回のアクセスページ、及びアクセス回数の内訳の項目を省略したものである。
図8を参照して、外部のホストコンピュータ等からあるブロックを対象とする書き込みアクセスが行われた場合には、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を参照することにより、その対象ブロックに適用するファイルシステムとして、第1ファイルシステム31及び第2ファイルシステム32の一方を選択する。
図10は、本発明の実施の形態2に係る制御部2に関して、ログ解析回路22によるファイルシステムの選択手法を示すフローチャートである。
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を、SRAM23から取得する。その後、ログ解析回路22は、対象ブロックに関する「アクセス回数」の情報を履歴情報13から抽出して、その回数を合計カウンタ24に設定する。
次にステップSP201においてログ解析回路22は、履歴情報13に記述されている対象ブロックに関する情報と、書き込みコマンドに含まれている書き込みデータのデータ長とに基づいて、今回の書き込みアクセスを反映した対象ブロックの平均データ長を算出する。具体的には、上述の式(1)で示した演算を実行することにより、最新の平均データ長を算出する。
次にステップSP202においてログ解析回路22は、合計カウンタ24のカウンタ値を「1」だけインクリメントする。
次にステップSP203においてログ解析回路22は、ステップSP201で算出した平均データ長が、予め設定した所定のしきい値TH1より大きいか否かを判定する。
平均データ長がしきい値TH1以下である場合(つまりステップSP203おける判定の結果が「NO」である場合)には、次にステップSP205においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
一方、平均データ長がしきい値TH1より大きい場合(つまりステップSP203における判定の結果が「YES」である場合)には、次にステップSP204においてログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。
<実施の形態3>
図11は、本発明の実施の形態3に係る制御部2の構成を示すブロック図である。本実施の形態3に係る制御部2は、図2に示した上記実施の形態1に係る制御部2の構成から、合計カウンタ24を省略したものである。
図12は、本発明の実施の形態3に係る履歴情報13のフォーマットを示す図である。本実施の形態3に係る履歴情報13は、図3に示した上記実施の形態1に係る履歴情報13のフォーマットから、平均データ長、及びアクセス回数の項目を省略したものである。
図11を参照して、外部のホストコンピュータ等からあるブロックを対象とする書き込みアクセスが行われた場合には、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を参照することにより、その対象ブロックに適用するファイルシステムとして、第1ファイルシステム31及び第2ファイルシステム32の一方を選択する。
図13は、本発明の実施の形態3に係る制御部2に関して、ログ解析回路22によるファイルシステムの選択手法を示すフローチャートである。
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を、SRAM23から取得する。その後、ログ解析回路22は、対象ブロックに関する「順方向」のアクセス回数の情報を履歴情報13から抽出して、その回数を順方向カウンタ25に設定する。また、対象ブロックに関する「逆方向」のアクセス回数の情報を履歴情報13から抽出して、その回数を逆方向カウンタ26に設定する。また、対象ブロックに関する「同一」のアクセス回数の情報を履歴情報13から抽出して、その回数を同一カウンタ27に設定する。
次にステップSP301においてログ解析回路22は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスと同一であるか否かを判定する。
両アドレスが一致する場合(つまりステップSP301における判定の結果が「YES」である場合)には、次にステップSP303においてログ解析回路22は、同一カウンタ27のカウンタ値を「1」だけインクリメントする。
一方、両アドレスが一致しない場合(つまりステップSP301における判定の結果が「NO」である場合)には、次にステップSP302においてログ解析回路22は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスより大きいか否かを判定する。
今回のアドレスが前回のアドレスより大きい場合(つまりステップSP302における判定の結果が「YES」である場合)には、次にステップSP304においてログ解析回路22は、順方向カウンタ25のカウンタ値を「1」だけインクリメントする。
一方、今回のアドレスが前回のアドレスより小さい場合(つまりステップSP302における判定の結果が「NO」である場合)には、次にステップSP305においてログ解析回路22は、逆方向カウンタ26のカウンタ値を「1」だけインクリメントする。
ステップSP303〜SP305に引き続き、次にステップSP306においてログ解析回路22は、順方向カウンタ25、逆方向カウンタ26、及び同一カウンタ27の各カウンタ値を比較することにより、カウンタ値が最大であるカウンタを特定する。
カウンタ値が最大であるカウンタが逆方向カウンタ26である場合には、次にステップSP309においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
カウンタ値が最大であるカウンタが順方向カウンタ25である場合には、次にステップSP308においてログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。
カウンタ値が最大であるカウンタが同一カウンタ27である場合には、次にステップSP307においてログ解析回路22は、今回の書き込みアクセスがページの境界を跨ぐか否かを判定する。具体的には、上述の式(2)で示した演算を行うことにより、式(2)の関係を満たす場合には書き込みアクセスがページの境界を跨ぐと判定し、式(2)の関係を満たさない場合には書き込みアクセスがページの境界を跨がないと判定する。
今回の書き込みアクセスがページの境界を跨ぐ場合(つまりステップSP307における判定の結果が「YES」である場合)には、次にステップSP309においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
一方、今回の書き込みアクセスがページの境界を跨がない場合(つまりステップSP307における判定の結果が「NO」である場合)には、次にステップSP308においてログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。
なお、ステップSP306の判定において、カウンタ値が最大であるカウンタが複数存在する場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステムを維持する。今回のアクセスにおいてファイルシステムの選択を行うよりも、次回のアクセス時に、インクリメント後のカウンタ値やその他の条件(アクセスがページの境界を跨ぐか否か等)に基づいてファイルシステムの選択を行った方が、より適切な選択を実現できるためである。
但し、カウンタ値が最大であるカウンタが複数存在する場合に、今回のアクセスにおいて以下のように処理しても良い。カウンタ値が最も大きいカウンタが順方向カウンタ25及び逆方向カウンタ26の双方である場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
また、カウンタ値が最も大きいカウンタが順方向カウンタ25及び同一カウンタ27の双方である場合であって、かつ、ステップSP307の判定において今回の書き込みアクセスがページの境界を跨ぐ場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。一方、カウンタ値が最も大きいカウンタが順方向カウンタ25及び同一カウンタ27の双方である場合であって、かつ、ステップSP307の判定において今回の書き込みアクセスがページの境界を跨がない場合には、ログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。このように、選択すべき最適なファイルシステムが等しい結果となる場合には、その最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、カウンタ値が最も大きいカウンタが逆方向カウンタ26及び同一カウンタ27の双方である場合であって、かつ、ステップSP307の判定において今回の書き込みアクセスがページの境界を跨ぐ場合には、ログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。このように、選択すべき最適なファイルシステムが等しい結果となる場合には、その最適なファイルシステムを選択することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。一方、カウンタ値が最も大きいカウンタが逆方向カウンタ26及び同一カウンタ27の双方である場合であって、かつ、ステップSP307の判定において今回の書き込みアクセスがページの境界を跨がない場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステムを維持する。このように、選択すべき最適なファイルシステムが異なる結果となる場合には、ファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
<実施の形態3の変形例>
図14は、上記実施の形態3の変形例に係る制御部2の構成を示すブロック図である。本変形例では、図11に示した逆方向カウンタ26及び同一カウンタ27が、非順方向カウンタ28としてまとめられている。
図15は、本変形例に係る履歴情報13のフォーマットを示す図である。本変形例では、図12に示した逆方向及び同一の項目が、非順方向の項目としてまとめられている。
図16は、本変形例に係る制御部2に関して、ログ解析回路22によるファイルシステムの選択手法を示すフローチャートである。
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を、SRAM23から取得する。その後、ログ解析回路22は、対象ブロックに関する「順方向」のアクセス回数の情報を履歴情報13から抽出して、その回数を順方向カウンタ25に設定する。また、対象ブロックに関する「非順方向」のアクセス回数の情報を履歴情報13から抽出して、その回数を非順方向カウンタ28に設定する。
次にステップSP601においてログ解析回路22は、今回の書き込みアクセスによってアクセスするページのアドレスが、前回の書き込みアクセスによってアクセスされたページのアドレスより大きいか否かを判定する。
今回のアドレスが前回のアドレスより大きい場合(つまりステップSP601における判定の結果が「YES」である場合)には、次にステップSP602においてログ解析回路22は、順方向カウンタ25のカウンタ値を「1」だけインクリメントする。
一方、今回のアドレスが前回のアドレス以下である場合(つまりステップSP601における判定の結果が「NO」である場合)には、次にステップSP603においてログ解析回路22は、非順方向カウンタ28のカウンタ値を「1」だけインクリメントする。
ステップSP602,SP603に引き続き、次にステップSP604においてログ解析回路22は、順方向カウンタ25及び非順方向カウンタ28の各カウンタ値を比較することにより、カウンタ値が最大であるカウンタを特定する。
カウンタ値が最大であるカウンタが順方向カウンタ25である場合(つまり順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値より大きい場合)には、次にステップSP605においてログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。
一方、カウンタ値が最大であるカウンタが非順方向カウンタ28である場合(つまり順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値より小さい場合)には、次にステップSP606においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
なお、ステップSP604の判定において、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値に等しい場合には、ログ解析回路22は、その対象ブロックに関して現在選択されているファイルシステムを維持する。今回のアクセスにおいてファイルシステムの選択を行うよりも、次回のアクセス時に、インクリメント後のカウンタ値やその他の条件(アクセスがページの境界を跨ぐか否か等)に基づいてファイルシステムの選択を行った方が、より適切な選択を実現できるためである。
但し、ページ単位で論物変換を行う第1ファイルシステム31は全てのアクセスパターンに対応可能であるため、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値に等しい場合には、ログ解析回路22は第1ファイルシステム31の適用を選択しても良い。第1ファイルシステム31を選択することにより、無駄なブロック消去の発生を抑制することができる。
<実施の形態4>
図17は、本発明の実施の形態4に係る制御部2の構成を示すブロック図である。本実施の形態4に係る制御部2は、図2に示した上記実施の形態1に係る制御部2の構成から、合計カウンタ24、順方向カウンタ25、逆方向カウンタ26、及び同一カウンタ27を省略し、その代わりに合計カウンタ40を追加したものである。
図18は、本発明の実施の形態4に係る履歴情報13のフォーマットを示す図である。本実施の形態4に係る履歴情報13は、図3に示した上記実施の形態1に係る履歴情報13のフォーマットから、平均データ長、アクセス回数、前回のアクセスページ、及びアクセス回数の内訳の項目を省略し、その代わりに、ページ境界を跨ぐアクセス回数の項目を追加したものである。ページ境界を跨ぐアクセス回数は、これまでに対象ブロックに対して実行された、ページ境界を跨ぐ書き込みアクセスの合計回数である。
図17を参照して、外部のホストコンピュータ等からあるブロックを対象とする書き込みアクセスが行われた場合には、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を参照することにより、その対象ブロックに適用するファイルシステムとして、第1ファイルシステム31及び第2ファイルシステム32の一方を選択する。
図19は、本発明の実施の形態4に係る制御部2に関して、ログ解析回路22によるファイルシステムの選択手法を示すフローチャートである。
外部のホストコンピュータ等から書き込みコマンドを受信すると、ログ解析回路22は、SRAM23が保持している最新の履歴情報13を、SRAM23から取得する。その後、ログ解析回路22は、対象ブロックに関する「ページ境界を跨ぐアクセス回数」の情報を履歴情報13から抽出して、その回数を合計カウンタ40に設定する。
次にステップSP401においてログ解析回路22は、今回の書き込みアクセスがページ境界を跨ぐか否かを判定する。書き込みアクセスがページ境界を跨ぐか否かは、上述の式(2)を用いたステップSP110と同様の手法によって判定することができる。
今回の書き込みアクセスがページ境界を跨ぐ場合(つまりステップSP401における判定の結果が「YES」である場合)には、次にステップSP402においてログ解析回路22は、合計カウンタ40のカウンタ値を「1」だけインクリメントする。
一方、今回の書き込みアクセスがページ境界を跨がない場合(つまりステップSP401における判定の結果が「NO」である場合)には、ステップSP402がスキップされることにより、合計カウンタ40の更新は行われない。
次にステップSP403においてログ解析回路22は、合計カウンタ40のカウンタ値が、予め設定した所定のしきい値TH2より大きいか否かを判定する。しきい値TH2の値としては、ページサイズ、ブロックサイズ、又は取り扱うコンテンツ等に応じて最適な値を設定することができる。例えば、ページサイズに等しい値を、しきい値TH2として設定することができる。あるいは、所望のデータに対して所望のファイルシステムが適用される値を解析によって求めて、その値をしきい値TH2として設定することができる。しきい値TH2に関する設定情報は、記憶部3内に格納しても良いし、記憶部3とは別の不揮発性の記憶媒体(ROM等)に格納しても良い。
合計カウンタ40のカウンタ値がしきい値TH2以下である場合(つまりステップSP403における判定の結果が「NO」である場合)には、次にステップSP405においてログ解析回路22は、その対象ブロックに関しては第1ファイルシステム31の適用を選択する。
一方、合計カウンタ40のカウンタ値がしきい値TH2より大きい場合(つまりステップSP403における判定の結果が「YES」である場合)には、次にステップSP404においてログ解析回路22は、その対象ブロックに関しては第2ファイルシステム32の適用を選択する。
<実施の形態1〜4の変形例>
上記実施の形態1〜4では、半導体記憶装置1が外部のホストコンピュータ等から書き込みコマンドを1回受信する毎に、ログ解析回路22によってファイルシステムの選択処理が実行された。この例に限らず、書き込みコマンドを複数回受信したことを条件として、ファイルシステムの選択処理を実行しても良い。これにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。但し、この場合であっても、履歴情報13の更新は、書き込みコマンドを1回受信する毎に実行する必要がある。
<まとめ>
上記実施の形態1〜4に係る半導体記憶装置1によれば、制御部2は、ページ単位で論物変換を行う第1ファイルシステム31と、ブロック単位で論物変換を行う第2ファイルシステム32とを有している。そして、各ブロックに関する書き込みアクセスの履歴情報13を保持し、当該履歴情報13に基づいて、各ブロックに関して第1ファイルシステム31及び第2ファイルシステム32の一方を選択する。従って、履歴情報13に基づき、データサイズやアクセスパターンに応じて最適なファイルシステムをブロック毎に選択することができ、その結果、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、上記実施の形態1に係る半導体記憶装置1によれば、制御部2は、書き込みデータ長の平均値がしきい値TH1以下である場合には、第1ファイルシステム31を選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、書き込みデータ長の平均値がしきい値TH1を超える場合において、カウンタ25〜27の中で順方向カウンタ25(第1のカウンタ)のカウンタ値が最も大きい場合には、第2ファイルシステム32を選択する。このように、データサイズが大きいデータをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2ファイルシステム32を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、書き込みデータ長の平均値がしきい値TH1を超える場合において、カウンタ25〜27の中で逆方向カウンタ25(第2のカウンタ)のカウンタ値が最も大きい場合には、第1ファイルシステム31を選択する。このように、データサイズが大きいデータをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、上記実施の形態1に係る半導体記憶装置1によれば、制御部2は、書き込みデータ長の平均値がしきい値TH1を超え、かつ、カウンタ25〜27の中で同一カウンタ27(第3のカウンタ)のカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、第1ファイルシステム31を選択する。このように、データサイズが大きいデータを前回にアクセスしたページと同一のページに書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨ぐ場合には、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、書き込みデータ長の平均値がしきい値TH1を超え、かつ、カウンタ25〜27の中で同一カウンタ27のカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨がない場合には、第2ファイルシステム32を選択する。このように、データサイズが大きいデータを前回にアクセスしたページと同一のページに書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨がない場合には、ブロック単位で論物変換を行う第2ファイルシステム32を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、上記実施の形態1に係る半導体記憶装置1によれば、制御部2は、書き込みデータ長の平均値がしきい値TH1を超える場合において、カウンタ25〜27の中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する。このように、カウンタ値が最も大きいカウンタが複数存在する場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
また、上記実施の形態1の変形例に係る半導体記憶装置1によれば、制御部2は、書き込みデータ長の平均値がしきい値TH1以下である場合には、第1ファイルシステム31を選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、書き込みデータ長の平均値がしきい値TH1を超える場合において、順方向カウンタ25(第1のカウンタ)のカウンタ値が非順方向カウンタ28(第2のカウンタ)のカウンタ値より大きい場合には、第2ファイルシステム32を選択する。このように、データサイズが大きいデータをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2ファイルシステム32を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、書き込みデータ長の平均値がしきい値TH1を超える場合において、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値より小さい場合には、第1ファイルシステム31を選択する。このように、データサイズが大きいデータをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、上記実施の形態1の変形例に係る半導体記憶装置1によれば、制御部2は、書き込みデータ長の平均値がしきい値TH1を超える場合において、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する。このように、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値に等しい場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
また、上記実施の形態2に係る半導体記憶装置1によれば、制御部2は、書き込みデータ長の平均値がしきい値TH1以下である場合には、第1ファイルシステム31を選択する。このように、データサイズが小さいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、書き込みデータ長の平均値がしきい値TH1を超える場合には、第2ファイルシステム32を選択する。このように、データサイズが大きいデータを書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2ファイルシステム32を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、上記実施の形態3に係る半導体記憶装置1によれば、制御部2は、カウンタ25〜27の中で順方向カウンタ25(第1のカウンタ)のカウンタ値が最も大きい場合には、第2ファイルシステム32を選択する。このように、データをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2ファイルシステム32を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、カウンタ25〜27の中で逆方向カウンタ26(第2のカウンタ)のカウンタ値が最も大きい場合には、第1ファイルシステム31を選択する。このように、データをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、上記実施の形態3に係る半導体記憶装置1によれば、制御部2は、カウンタ25〜27の中で同一カウンタ27(第3のカウンタ)のカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨ぐ場合には、第1ファイルシステム31を選択する。このように、前回にアクセスしたページと同一のページにデータを書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨ぐ場合には、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、カウンタ25〜27の中で同一カウンタ27のカウンタ値が最も大きい場合において、今回の書き込みアクセスがページの境界を跨がない場合には、第2ファイルシステム32を選択する。このように、前回にアクセスしたページと同一のページにデータを書き込む態様の書き込みアクセスが頻発するブロックに関して、今回の書き込みアクセスがページの境界を跨がない場合には、ブロック単位で論物変換を行う第2ファイルシステム32を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、上記実施の形態3に係る半導体記憶装置1によれば、制御部2は、カウンタ25〜27の中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する。このように、カウンタ値が最も大きいカウンタが複数存在する場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
また、上記実施の形態3の変形例に係る半導体記憶装置1によれば、制御部2は、順方向カウンタ25(第1のカウンタ)のカウンタ値が非順方向カウンタ28(第2のカウンタ)のカウンタ値より大きい場合には、第2ファイルシステム32を選択する。このように、データをシーケンシャルアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2ファイルシステム32を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値より小さい場合には、第1ファイルシステム31を選択する。このように、データをランダムアクセスによって書き込む態様の書き込みアクセスが頻発するブロックに関しては、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
また、上記実施の形態3の変形例に係る半導体記憶装置1によれば、制御部2は、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する。このように、順方向カウンタ25のカウンタ値が非順方向カウンタ28のカウンタ値に等しい場合には、今回のアクセスにおいてはファイルシステムの選択を行わず、現在選択されているファイルシステムを維持することにより、適用されるファイルシステムが頻繁に変更されるという事態を回避することが可能となる。
また、上記実施の形態4に係る半導体記憶装置1によれば、制御部2は、ページの境界を跨ぐ書き込みアクセスが行われた回数がしきい値TH2以下である場合には、第1ファイルシステム31を選択する。このように、ページの境界を跨ぐ書き込みアクセスが頻発しないブロックに関しては、ページ単位で論物変換を行う第1ファイルシステム31を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。また、制御部2は、ページの境界を跨ぐ書き込みアクセスが行われた回数がしきい値TH2を超える場合には、第2ファイルシステム32を選択する。このように、ページの境界を跨ぐ書き込みアクセスが頻発するブロックに関しては、ブロック単位で論物変換を行う第2ファイルシステム32を適用することにより、不要な書き込みや消去の発生を回避又は抑制することが可能となる。
1 半導体記憶装置
2 制御部
3 記憶部
13 履歴情報
21 メモリコントローラ
22 ログ解析回路
23 SRAM
24 合計カウンタ
25 順方向カウンタ
26 逆方向カウンタ
27 同一カウンタ
28 非順方向カウンタ
31 第1ファイルシステム
32 第2ファイルシステム
40 合計カウンタ

Claims (13)

  1. それぞれに複数のページを含む複数のブロックを有する記憶部と、
    前記記憶部を制御する制御部と、
    を備え、
    前記制御部は、
    ページ単位で論理−物理アドレス変換を行う第1のファイルシステムと、
    ブロック単位で論理−物理アドレス変換を行う第2のファイルシステムと、
    を有し、
    前記制御部は、各ブロックに関する書き込みアクセスの履歴情報を保持し、当該履歴情報に基づいて、各ブロックに関して第1のファイルシステム及び第2のファイルシステムの一方を選択する、半導体記憶装置。
  2. 前記履歴情報には、
    書き込みデータ長の平均値と、
    前回に書き込みアクセスされたページのアドレスと、
    が含まれ、
    前記制御部は、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第1のカウンタと、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより小さい場合にカウンタ値がインクリメントされる第2のカウンタと、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスと等しい場合にカウンタ値がインクリメントされる第3のカウンタと、
    を有し、
    前記制御部は、
    書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第1のファイルシステムを選択し、
    書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1乃至第3のカウンタの中で前記第1のカウンタのカウンタ値が最も大きい場合には、前記第2のファイルシステムを選択し、
    書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1乃至第3のカウンタの中で前記第2のカウンタのカウンタ値が最も大きい場合には、前記第1のファイルシステムを選択する、請求項1に記載の半導体記憶装置。
  3. 前記制御部は、
    書き込みデータ長の平均値が前記しきい値を超え、かつ、前記第1乃至第3のカウンタの中で前記第3のカウンタのカウンタ値が最も大きい場合において、
    今回の書き込みアクセスがページの境界を跨ぐ場合には、前記第1のファイルシステムを選択し、
    今回の書き込みアクセスがページの境界を跨がない場合には、前記第2のファイルシステムを選択する、請求項2に記載の半導体記憶装置。
  4. 前記制御部は、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1乃至第3のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する、請求項2又は3に記載の半導体記憶装置。
  5. 前記履歴情報には、
    書き込みデータ長の平均値と、
    前回に書き込みアクセスされたページのアドレスと、
    が含まれ、
    前記制御部は、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第1のカウンタと、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレス以下である場合にカウンタ値がインクリメントされる第2のカウンタと、
    を有し、
    前記制御部は、
    書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第1のファイルシステムを選択し、
    書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値より大きい場合には、前記第2のファイルシステムを選択し、
    書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値より小さい場合には、前記第1のファイルシステムを選択する、請求項1に記載の半導体記憶装置。
  6. 前記制御部は、書き込みデータ長の平均値が前記しきい値を超える場合において、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する、請求項5に記載の半導体記憶装置。
  7. 前記履歴情報には、書き込みデータ長の平均値が含まれ、
    前記制御部は、
    書き込みデータ長の平均値が所定のしきい値以下である場合には、前記第1のファイルシステムを選択し、
    書き込みデータ長の平均値が前記しきい値を超える場合には、前記第2のファイルシステムを選択する、請求項1に記載の半導体記憶装置。
  8. 前記履歴情報には、前回に書き込みアクセスされたページのアドレスが含まれ、
    前記制御部は、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第1のカウンタと、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより小さい場合にカウンタ値がインクリメントされる第2のカウンタと、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスと等しい場合にカウンタ値がインクリメントされる第3のカウンタと、
    を有し、
    前記制御部は、
    前記第1乃至第3のカウンタの中で前記第1のカウンタのカウンタ値が最も大きい場合には、前記第2のファイルシステムを選択し、
    前記第1乃至第3のカウンタの中で前記第2のカウンタのカウンタ値が最も大きい場合には、前記第1のファイルシステムを選択する、請求項1に記載の半導体記憶装置。
  9. 前記制御部は、
    前記第1乃至第3のカウンタの中で前記第3のカウンタのカウンタ値が最も大きい場合において、
    今回の書き込みアクセスがページの境界を跨ぐ場合には、前記第1のファイルシステムを選択し、
    今回の書き込みアクセスがページの境界を跨がない場合には、前記第2のファイルシステムを選択する、請求項8に記載の半導体記憶装置。
  10. 前記制御部は、前記第1乃至第3のカウンタの中でカウンタ値が最も大きいカウンタが複数存在する場合には、現在選択されているファイルシステムを維持する、請求項8又は9に記載の半導体記憶装置。
  11. 前記履歴情報には、前回に書き込みアクセスされたページのアドレスが含まれ、
    前記制御部は、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレスより大きい場合にカウンタ値がインクリメントされる第1のカウンタと、
    今回に書き込みアクセスされたページのアドレスが前回に書き込みアクセスされたページのアドレス以下である場合にカウンタ値がインクリメントされる第2のカウンタと、
    を有し、
    前記制御部は、
    前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値より大きい場合には、前記第2のファイルシステムを選択し、
    前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値より小さい場合には、前記第1のファイルシステムを選択する、請求項1に記載の半導体記憶装置。
  12. 前記制御部は、前記第1のカウンタのカウンタ値が前記第2のカウンタのカウンタ値に等しい場合には、現在選択されているファイルシステムを維持する、請求項11に記載の半導体記憶装置。
  13. 前記履歴情報には、ページの境界を跨ぐ書き込みアクセスが行われた回数が含まれ、
    前記制御部は、
    前記回数が所定のしきい値以下である場合には、前記第1のファイルシステムを選択し、
    前記回数が前記しきい値を超える場合には、前記第2のファイルシステムを選択する、請求項1に記載の半導体記憶装置。
JP2012216555A 2012-09-28 2012-09-28 半導体記憶装置 Expired - Fee Related JP5952152B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012216555A JP5952152B2 (ja) 2012-09-28 2012-09-28 半導体記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012216555A JP5952152B2 (ja) 2012-09-28 2012-09-28 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2014071611A JP2014071611A (ja) 2014-04-21
JP5952152B2 true JP5952152B2 (ja) 2016-07-13

Family

ID=50746767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012216555A Expired - Fee Related JP5952152B2 (ja) 2012-09-28 2012-09-28 半導体記憶装置

Country Status (1)

Country Link
JP (1) JP5952152B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049042B2 (en) 2014-09-22 2018-08-14 Hitachi, Ltd. Storage device, semiconductor memory device, and method for controlling same
US9875064B2 (en) 2015-03-11 2018-01-23 Toshiba Memory Corporation Storage system architecture for improved data management
KR102314784B1 (ko) * 2018-04-17 2021-10-19 한국과학기술원 Ftl 관리 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965051B1 (ko) * 2008-10-01 2010-06-21 서울시립대학교 산학협력단 플래시 메모리 장치를 위한 가변 공간 페이지 사상 방법 및그 장치

Also Published As

Publication number Publication date
JP2014071611A (ja) 2014-04-21

Similar Documents

Publication Publication Date Title
TWI457756B (zh) 記憶體系統及其操作方法
JP6077673B2 (ja) ランタイム可変raid保護スキームを有する方法、ソリッドステートドライブコントローラー、及びデータ格納装置
US11061787B2 (en) Custom error recovery in selected regions of a data storage device
EP1898312A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
US20150046636A1 (en) Storage device, computer system and methods of operating same
JP2008198206A (ja) データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法
TWI608350B (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方 法
JP2007299216A (ja) 不揮発性フラッシュメモリを用いる記憶装置とその制御方法
JP2011192260A (ja) 半導体記憶装置
JP6034183B2 (ja) 半導体記憶装置
US20190155749A1 (en) Adaptive management of intermediate storage
WO2016069196A1 (en) Method and system for throttling power consumption
CN108897492B (zh) 一种数据写入方法和装置
KR20170068681A (ko) 데이터 저장 장치 및 그것의 동작 방법
US9081658B2 (en) Storage device and data management method thereof
US11507272B2 (en) Controller for performing garbage collection operation based on performance ratio and memory system including the same
JP5952152B2 (ja) 半導体記憶装置
TWI606336B (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
CN114730285A (zh) 用于固态存储设备的存储器控制器
TWI355668B (ja)
TWI553481B (zh) 固態硬碟的資料管理方法、寫入管理系統及其方法
KR101213982B1 (ko) 다중 레벨 일회 기록 메모리 셀들을 가지는 재기록 가능한 메모리 장치
US9928177B2 (en) Managing method for cache memory of solid state drive
JP2008123314A (ja) 半導体記憶装置への情報記録方法及び情報記録システム
KR101146082B1 (ko) 비휘발성 메모리 저장 장치 및 비휘발성 메모리 저장 장치의 성능 향상 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160609

R150 Certificate of patent or registration of utility model

Ref document number: 5952152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees