JP2008276733A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2008276733A JP2008276733A JP2007327814A JP2007327814A JP2008276733A JP 2008276733 A JP2008276733 A JP 2008276733A JP 2007327814 A JP2007327814 A JP 2007327814A JP 2007327814 A JP2007327814 A JP 2007327814A JP 2008276733 A JP2008276733 A JP 2008276733A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- storage
- mode
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 高い記憶容量と高い書き込み速度の両立が可能なメモリシステムを提供する。
【解決手段】 半導体メモリ6は、それぞれが複数の記憶素子の組からなる複数の記憶領域を有し、複数の記憶素子のそれぞれによって1または2以上のビットのデータを記憶する機能を有し、複数の記憶素子のそれぞれにn(nは自然数)ビットのデータを記憶させる第1書き込みモードまたは複数の記憶素子のそれぞれにn+1以上のビットのデータを記憶させる第2書き込みモードを複数の記憶領域ごとに選択する機能を有する。コントローラ7は、所定の範囲に属する複数の論理アドレスからなる複数論理アドレス群のそれぞれについて、論理アドレス群内の論理アドレスを付されたデータの一部を第1個数の複数の記憶領域に第1書き込みモードで書き込み、別の一部を第2個数の複数の記憶領域に第2書き込みモードで書き込むことにより記憶するように半導体メモリに指示する。
【選択図】 図5
【解決手段】 半導体メモリ6は、それぞれが複数の記憶素子の組からなる複数の記憶領域を有し、複数の記憶素子のそれぞれによって1または2以上のビットのデータを記憶する機能を有し、複数の記憶素子のそれぞれにn(nは自然数)ビットのデータを記憶させる第1書き込みモードまたは複数の記憶素子のそれぞれにn+1以上のビットのデータを記憶させる第2書き込みモードを複数の記憶領域ごとに選択する機能を有する。コントローラ7は、所定の範囲に属する複数の論理アドレスからなる複数論理アドレス群のそれぞれについて、論理アドレス群内の論理アドレスを付されたデータの一部を第1個数の複数の記憶領域に第1書き込みモードで書き込み、別の一部を第2個数の複数の記憶領域に第2書き込みモードで書き込むことにより記憶するように半導体メモリに指示する。
【選択図】 図5
Description
本発明は、メモリシステムに関し、例えば、NAND型フラッシュメモリとこのメモリを制御するコントローラを有するメモリシステムに関する。
現在、音楽データや映像データの記録メディアとして、フラッシュメモリ等の不揮発性半導体メモリを用いた、メモリカード等のメモリシステムが使われている。メモリシステムに使用されるフラッシュメモリの代表例としては、NAND型フラッシュメモリが挙げられる。NAND型フラッシュメモリでは、複数のビットからなるページと呼ばれる単位で書き込みが行われる。そして、複数のページからなる物理ブロック(消去ブロック)と呼ばれる単位でしか消去を行えない。
メモリカードの中でも、スピードクラス規格が定義されているものがある。スピードクラスは、あるスピードクラスに属するカードが、ある一定の範囲の論理アドレスのデータを、クラスに応じて決定されている速度での書き込むことが可能であることを保証することを意味する。スピードクラスの定義に用いられる、一定範囲の論理アドレス群は、例えばAU(allocation unit)と称される。ある規格に沿ったAUの大きさは例えば4MBである。
ある規格に従えば、クラス2に属するメモリカードは、AUごとの書き込み速度は、2MB/s以上である必要がある。同様に、クラス4のメモリカードのAUごとの書き込み速度は4MB/s以上であることが保証される必要があり、クラス6のメモリカードのAUごとの書き込み速度は6MB/s以上であることが保証される必要がある。
メモリカードを構成するためのNAND型フラッシュメモリとして、いわゆる多値型のNANDフラッシュメモリ(以下、多値型メモリと称する)が用いられることがある。多値型メモリは、1つのメモリセルが2値、または4値、またはそれ以上のデータを記憶できるように構成されている。2値を用いてデータが書き込まれるか、4値(またはそれ以上)を用いてデータが書き込まれるかは、通常、物理ブロックごとに選択することが可能である。
ある物理ブロックに4値でデータを書き込めば、2値の場合よりもメモリセル当たりの記憶容量は大きいが、2値での書き込みよりも書き込み速度が遅い。4値モードでの書き込みは、2値モードでの書き込みよりも制御が複雑かつ繊細だからである。逆に、2値モードでの書き込みは、4値モードよりも高速で完了することができるが、メモリセル当たりの容量が小さい。具体的には、例えば、ある多値型メモリでは、物理ブロックに対して4値モードで書き込むと、容量が512kBと大きいが、書き込み速度(ある数の複数の物理ブロックのそれぞれにおける平均値のうちの最悪の値、以下同じ)が5MB/sと低い。一方、2値モードで書き込むと、容量は256kBと小さいが、書き込み速度は16MB/sと高い。この書き込み速度は、NAND型フラッシュメモリの性能に依存し、固有、かつ不変である。
このような特性を有し、かつ4k個の物理ブロックが、データの記憶のために用いられることが可能である多値型メモリを用いてメモリカードを構成する場合を考える。この使用可能な物理ブロックの全てに対して2値モードで書き込むとすると、このメモリカードは、クラス2が要求する書き込み速度を達成できるが、1GBの記憶容量しか実現できない。一方、より大きな記憶容量を達成するために全ての使用可能な物理ブロックに対して4値モードで書き込むとすると、2GBの記憶容量が実現できるが、クラス6が要求する書き込み速度に達せず、クラス4に分類される。
このように、ある固有の性能を有する多値型メモリを用いてメモリカードを構成する際、高い記憶容量と高い書き込み速度の両立ができなかった。
この出願の発明に関連する先行技術文献情報としては次のものがある。
特開平11-176178号公報
本発明は、高い記憶容量と高い書き込み速度の両立が可能なメモリシステムを提供しようとするものである。
本発明の一態様によるメモリシステムは、(1)それぞれが複数の記憶素子の組からなる複数の記憶領域を有し、前記複数の記憶素子のそれぞれによって1または2以上のビットのデータを記憶する機能を有し、前記複数の記憶素子のそれぞれにn(nは自然数)ビットのデータを記憶させる第1書き込みモードまたは前記複数の記憶素子のそれぞれにn+1以上のビットのデータを記憶させる第2書き込みモードを前記複数の記憶領域ごとに選択する機能を有する不揮発性半導体メモリと、(2)所定の範囲に属する複数の論理アドレスからなる複数の論理アドレス群のそれぞれについて、前記論理アドレス群に含まれる前記論理アドレスを付されたデータの一部を予め設定された第1個数の前記複数の記憶領域に第1書き込みモードで書き込み、別の一部を予め設定された第2個数の前記複数の記憶領域に第2書き込みモードで書き込むことにより記憶するように前記不揮発性半導体メモリに指示するコントローラと、を具備することを特徴とする。
本発明の一態様によるメモリシステムは、(1)それぞれが複数の記憶素子の組からなる複数の記憶領域を有し、前記複数の記憶素子のそれぞれによって1または2以上のビットのデータを記憶する機能を有し、前記複数の記憶素子のそれぞれにn(nは自然数)ビットのデータを記憶させる第1書き込みモードまたは前記複数の記憶素子のそれぞれにn+1以上のビットのデータを記憶させる第2書き込みモードを前記複数の記憶領域ごとに選択する機能を有する不揮発性半導体メモリと、(2)所定の範囲に属する複数の論理アドレスからなる複数の論理アドレス群のそれぞれについて、前記論理アドレス群に含まれる前記論理アドレスを付されたデータの一部を予め設定された第1個数の前記複数の記憶領域に前記第1書き込みモードで書き込み、別の一部を予め設定された第2個数の前記複数の記憶領域に前記第2書き込みモードで書き込むことにより記憶するように前記不揮発性半導体メモリに指示するコントローラとを具備し、第1記憶容量の第1論理領域と、第2記憶容量の第2論理領域がそれぞれ設定され、前記第1論理領域の前記論理アドレス群と前記第2論理領域の前記論理アドレス群に対し、前記第1個数または前記第2個数がそれぞれ異なって、前記複数の記憶領域が割り付けられる、ことを特徴とする。
本発明によれば、高い記憶容量と高い書き込み速度の両立が可能なメモリシステムを提供できる。
以下に本発明の実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。ただし、図面は模式的なものであり、厚みと平面寸法との関係、各層の厚みの比率等は現実のものとは異なることに留意すべきである。したがって、具体的な厚みや寸法は以下の説明を参酌して判断すべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることはもちろんである。
また、以下に示す各実施形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
[A]第1の実施形態
[1]構成
[1−1]全体の構成
図1は、本発明の一実施形態に係るメモリシステムおよびホスト装置の主要部を概略的に示す機能ブロック図である。各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれかまたは両者の組み合わせとして実現することができる。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も本発明の範疇に含まれるものである。
[1]構成
[1−1]全体の構成
図1は、本発明の一実施形態に係るメモリシステムおよびホスト装置の主要部を概略的に示す機能ブロック図である。各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれかまたは両者の組み合わせとして実現することができる。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も本発明の範疇に含まれるものである。
図1において、ホスト装置(以下、ホストと称する)1は、挿入されるメモリカード2に対してアクセスを行うためのハードウェアおよびソフトウェアを備えている。ホスト1は、アプリケーション、オペレーティングシステム等のソフトウェアを備えている。ソフトウェア3は、ユーザから、メモリカード2へのデータの書き込み、メモリカード2からのデータの読み出しを指示される。ソフトウェア3は、書き込みおよび読み出しをファイルシステム4に指示する。
ファイルシステム4は、管理対象の記憶媒体に記録されているファイル(データ)を管理するための仕組みであり、記憶媒体の記憶領域内に管理情報を記録し、この管理情報を用いてファイルを管理する。ファイルシステム4では、記憶媒体におけるファイルやフォルダなどのディレクトリ情報の作成方法、ファイルやフォルダなどの移動方法や削除方法、データの記録方式、管理情報が記録されている領域の場所や利用方法などが定められている。
ホスト1は、SDインターフェース5を有する。SDインターフェース5は、ホスト1とメモリカード2(コントローラ7)との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなる。ホスト1は、SDインターフェース5を介してメモリカード2と通信を行う。SDインターフェース5は、ホスト1とメモリカード2とが通信するのに必要な様々な取り決めを規定し、後述のメモリカード2のSDインターフェース11と相互に認識可能な各種のコマンドの組を備えている。また、SDインターフェース5は、メモリカード2のSDインターフェース11と接続可能なハードウェア上の構成(ピンの配置、数等)も含む。
メモリカード2は、ホスト1に接続されたとき、およびオフ状態のホスト1に挿入された状態でホスト1がオンされたときに電源供給を受けて初期化動作を行った後、ホスト1からのアクセスに応じた処理を行う。メモリカード2は、NAND型フラッシュメモリ6、メモリ6を制御するためのコントローラ7を有する。
メモリ6は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行う。ページには、各ページに固有の物理アドレスが割り当てられている。また、メモリ6は、複数のページからなる物理ブロックと呼ばれる単位でデータの消去を行う。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。
コントローラ7は、メモリ6によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページ(または物理ブロック)が、ホスト1により割り当てられたどの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページ(または物理ブロック)が消去状態(何も書き込まれていない、または無効なデータを保持している状態)であるかを管理することを含んでいる。
コントローラ7は、SDインターフェース11、MPU(micro processing unit)12、ROM(read only memory)13、RAM(read only memory)14、NANDインターフェース15を含んでいる。
SDインターフェース11は、ホスト1とコントローラ7との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなる。メモリカード2(コントローラ6)は、SDインターフェース11を介してとホスト1と通信を行う。SDインターフェース11は、SDインターフェース5と同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウェア上の構成(ピンの配置、数等)も含む。
MPU12は、メモリカード2全体の動作を司る。MPU12は、例えば、メモリカード2が電源供給を受けた際に、ROM13内に格納されているファームウェア(制御プログラム)をRAM14上に読み出して所定の処理を実行する。MPU12は、制御プログラムに従って、各種のテーブル(後述)をRAM14上で作成したり、ホスト1から書き込みコマンド、読み出しコマンド、消去コマンドを受けてメモリ6に対する所定の処理を実行したりする。
ROM13は、MPU12により制御される制御プログラムなどを格納する。RAM14は、MPU12の作業エリアとして使用され、制御プログラムや各種のテーブルを一時的に記憶する。このようなテーブルとして、ファイルシステム4によってデータに割り当てられた論理アドレスを有するデータを実際に記憶しているページの物理アドレスの変換テーブル(論物テーブル)が含まれる。NANDインターフェース15は、コントローラ7とメモリ6とのインターフェース処理を行う。
メモリ6内の記憶領域は、保存されるデータの種類に応じて、機能の観点から複数の領域に区分けされている。この複数の領域は、例えばシステムデータ領域、機密データ領域、保護データ領域、ユーザデータ領域等を含む。
システムデータ領域は、コントローラ7が、その動作に必要なデータを保存するためにメモリ6内で確保しておく領域である。機密データ領域は、暗号化に用いる鍵情報や認証時に使用する機密データを保存しており、ホスト1はアクセスできない。保護データ領域は、重要なデータ、セキュアなデータを格納する。
ユーザデータ領域は、ホスト1が自由にアクセスおよび使用することが可能で、例えばAVコンテンツファイルや画像データ等のユーザデータを格納する。以下の説明で、メモリ6は、このユーザデータ領域を指すものとする。なお、コントローラ7は、ユーザデータ領域の一部を確保し、自身の動作に必要な制御データ(論物テーブル等)を保存する。
[1−2]メモリの構成
次に、図2、図3を用いて、メモリの構成について説明する。
次に、図2、図3を用いて、メモリの構成について説明する。
[1−2−1]メモリ空間およびメモリの物理的な構成
まず、図2を用いて、メモリ6のメモリ空間の構成について説明する。図2は、メモリ6のメモリ空間の構成を示す図である。
まず、図2を用いて、メモリ6のメモリ空間の構成について説明する。図2は、メモリ6のメモリ空間の構成を示す図である。
図2に示すように、メモリ6は、通常のメモリ領域31とページバッファ32とを有する。
メモリ領域31は、複数の物理ブロックBLKを含んでいる。各物理ブロックBLKは、複数のページPGから構成される。各ページPGは、直列接続された複数のメモリセルトランジスタを含んでいる。
各メモリセルは、いわゆるスタックゲート構造型のMOSFET(metal oxide semiconductor field effect transistor)からなる。スタックゲート構造のMOSトランジスタは、トンネル絶縁膜、浮遊ゲート電極、電極間絶縁膜、制御ゲート電極、ソース/ドレイン拡散層を含む。各メモリセルトランジスタは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。メモリセルトランジスタは、2つ以上の閾値電圧の異なる状態を取り得、いわゆる多値(多ビット)を記憶可能な構成を有する。そして、メモリ6のセンスアンプ、電位発生回路等を含む制御回路は、メモリセルトランジスタに多ビットのデータを書き込み、多ビットのデータを読み出すことが可能な構成を有している。
同じ行に属するメモリセルトランジスタの制御ゲート電極は、同じワード線と接続される。同じ列に属し且つ直列接続されたメモリセルトランジスタの両端には選択ゲートトランジスタが設けられる。一方の選択ゲートトランジスタは、ビット線と接続される。この法則に則って、メモリセルトランジスタ、選択ゲートトランジスタ、ワード線、ビット線が設けられる。データの書き込みおよび読み出しは複数のメモリセルトランジスタの集合毎に行われ、このメモリセルトランジスタの集合からなる記憶領域が1つのページに対応する。
図2の例の場合、各ページPGは、2112B(512B分のデータ記憶部×4+10B分の冗長部×4+24B分の管理データ記憶部)を有しており、各物理ブロックBLKは例えば128ページからなる。
ページバッファ32は、メモリ6へのデータ入出力を行い、データを一時的に保持する。ページバッファ32が保持可能なデータサイズは、例えば、ページPGのサイズと同じく2112B(2048B+64B)である。データ書き込みなどの際、ページバッファ32は、メモリ6に対するデータ入出力処理を、自身の記憶容量に相当する1ページ分の単位で実行する。データの消去は物理ブロックBLK単位で行われる。
また、メモリ6は、1つのメモリセルトランジスタに1ビットのデータを書き込むことができるモードと、多ビットのデータ、すなわち2n(nは自然数)値のデータを書き込むモードとを有する。メモリ6が1つのメモリセルトランジスタに1ビットのデータを書き込むモードを2値モードと称し、多ビットのデータを書き込むモードを多値モード(または具体的に4値モード、8値モード)と称する。
[1−2−2]メモリの書き込みモード
次に、図3を用いて、2値モードおよび多値モードについて説明する。図3は、2値モードと多値モードとの違いを示す図である。上記のように、メモリ6の各メモリセルトランジスタは、2以上のビットのデータを記憶できる。すなわち、2n(nは自然数)値の値を記憶する。しかしながら、以下の説明では、多値モードの一例として、4値モードについて説明する。図3においては、横軸は閾値電圧Vthを示し、縦軸はメモリセルの存在確率を示している。
次に、図3を用いて、2値モードおよび多値モードについて説明する。図3は、2値モードと多値モードとの違いを示す図である。上記のように、メモリ6の各メモリセルトランジスタは、2以上のビットのデータを記憶できる。すなわち、2n(nは自然数)値の値を記憶する。しかしながら、以下の説明では、多値モードの一例として、4値モードについて説明する。図3においては、横軸は閾値電圧Vthを示し、縦軸はメモリセルの存在確率を示している。
まず4値モードについて説明する。図3に示すように、メモリセルトランジスタは、閾値電圧Vthの大きさに応じて、閾値電圧の低い順に例えば“11”、“01”、“10”、“00”の4つのデータのいずれかを記憶できる。“11”データを記憶しているメモリセルトランジスタの閾値電圧Vth[V]は、Vth<0である。“01”データを記憶しているメモリセルトランジスタの閾値電圧Vth[V]は、0<Vth<Vth1である。“10”データを記憶しているメモリセルトランジスタの閾値電圧Vth[V]は、Vth1<Vth<Vth2である。“00”データを記憶しているメモリセルトランジスタの閾値電圧Vth[V]は、Vth2<Vth<Vth3である。
次に2値モードについて説明する。図3に示すように、メモリセルトランジスタは、閾値電圧Vthの大きさに応じて、閾値電圧の低い順に“1”、“0”の2つのデータのいずれかを記憶できる。“1”データを記憶しているメモリセルトランジスタの閾値電圧Vth[V]は、Vth<0である。“0”データを記憶しているメモリセルトランジスタの閾値電圧Vth[V]は、Vth1<Vth<Vth2である。
“1”データは4値モードにおける“11”データに等しく、“0”データは4値モードにおける“10”データに等しい閾値電圧を有する。すなわち、2値モードとは、4値モードにおける2ビットデータのうち、低位ビットのみを用いた動作モードと言うことができる。メモリ6が、メモリセルトランジスタに対して2値モードでデータを書き込むか、または4値モードでデータを書き込むかは、コントローラ7の指示に従う。具体的には、2ビットデータの低位ビットには低位ページアドレスが割り当てられ、上位ビットには上位ページアドレスが割り当てられる。メモリセルトランジスタに対して2値モードでデータを書き込む場合、コントローラ7は、これらのページアドレスのうち低位ページアドレスのみを使用してメモリ6にデータを書き込む。メモリセルトランジスタに対して多値モードでデータを書き込む場合、コントローラ7は、上位ページアドレスと低位ページアドレスの両方を使用してメモリ6にデータを書き込む。
データの書き込みは、まず低位ビットから行われる。消去状態を“11”とすると、まず低位ビットに“0”または“1”が書き込まれることにより、メモリセルトランジスタは“11”(“−1”)、または“10”(“−0”)を保持する状態になる。ここで、“−”は不定を意味する。2値モードの場合、以上で書き込みは終了する。
一方、4値モードで書き込まれる場合には、続けて上位ビットに“0”または“1”が書き込まれる。その結果、“11”(“−1”)を保持していたメモリセルトランジスタは、“11”または“01”を保持する状態になり、“10”(“−0”)を保持していたメモリセルトランジスタは“10”または“00”を保持する状態になる。その他の8値モード、16値モード等について、同様である。
多値モードでは、1メモリセル当たりのデータ記憶量が大きいが、書き込みが遅い。一方、2値モードでは、1メモリセル当たりのデータの記憶量が小さいが、書き込みが速く、書き換え頻度に対する耐性も高い。
メモリ6は、物理ブロックごとに、2値モードでの書き込みまたは多値モードでの書き込みを選択することができる。
なお、4値のみでなく8値(1メモリセル当たり3ビット)や16値(1メモリセル当たり4ビット)といった拡張も考えられる。いずれも1メモリセル当たりのビット数が少ないほど、書き込みが速く、書き換え頻度に対する耐性も高い。
[2]動作
次に、図4を参照してメモリカード2の書き込み動作について説明する。図4は、物理ブロックと、各物理ブロックに設定された書き込み方式(書き込みモード)との対応を例示している。
次に、図4を参照してメモリカード2の書き込み動作について説明する。図4は、物理ブロックと、各物理ブロックに設定された書き込み方式(書き込みモード)との対応を例示している。
図4に示すように、ファイルシステム4によって書き込みデータは所定の大きさのデータに分割されて管理されている。ファイルシステム4が、FATファイルシステムの場合、この所定の大きさのデータは、クラスタと称され、クラスタの大きさは、例えば16kバイトである。各クラスタには、固有の論理アドレスが付されている。
さらに、所定数の複数の論理アドレスからなるAUという単位が定義されている。AUは、メモリカードのスピードクラスを決定するために用いられる論理アドレス群である。あるスピードクラスに属するメモリカードは、1つのAUのデータを書き込む速度が、ある所定の値以上を有していることが要求される。ある規格に従えば、AUは、4MB分のデータに相当する連続する論理アドレスに相当する。以下、4MBのAUを例に取り説明する。なお、以下の記載において用いられる書き込み速度は、適当数の、各AUにおける書き込み速度の平均値の最悪の値が用いられる。
メモリカード2は、ホスト1からデータの書き込みの要求を受けると、1つのAUに対して、この1つのAUの大きさのデータを記憶可能な数の未使用(データの消去済みの)の物理ブロックを割り当てる。この割り当ての際、1つのAUに割り当てられる物理ブロックの数は、以下に述べる法則に従って、予め決定されている。
本実施形態では、各AUのデータを記憶するために割り当てられる複数の物理ブロックに対する書き込みの際、少なくとも2つの書き込みモードが用いられる。一方の書き込みモードは、大きな記憶容量を実現できるが書き込み速度が遅い。他方の書き込みモードは、記憶容量は小さいが書き込み速度が速い。そして、これらの書き込みモードの混合比が、1つのAUのデータの記憶に要する記憶容量以上の大きさを達成する範囲内で、1AUのデータの書き込みの平均速度が、求められる速度を達成しつつなるべく少ない物理ブロックで1AUのデータを賄えるように予め設定されている。より具体的には、以下の通りである。
まず、メモリ6は、物理ブロックごとに少なくとも第1書き込みモードまたは第2書き込みモードのいずれかで書き込みが可能であるとする。第1書き込みモードは速度WP1での書き込みが可能なモードであり、第2書き込みモードは速度WP2での書き込みが可能なモードである。速度WP1>速度WP2である。
第1書き込みモードで書き込まれた物理ブロックの記憶容量はC1であり、第2書き込みモードで書き込まれた物理ブロックの記憶容量はC2である。容量C1<容量C2である。また、1つのAUのデータを記憶するのに要する記憶容量を、CAUとする。
コントローラ7は、1つのAUに割り当てられる複数の物理ブロックの一部には第1モードで書き込み、残りを第2モードで書き込む。以下、第1、第2書き込みモードで書き込まれる物理ブロックを、それぞれ第1書き込みモードブロック、第2書き込みモードブロックと称する。第1書き込みモードブロックの数B1、第2書き込みモードブロックの数B2は、第1、第2書き込みモードブロックによって、1AUの容量のデータ以上の容量を賄える値であることが必要である。すなわち、以下の式1が満たすことが必要である。
C1×B1+C2×B2≧CAU ・・・(式1)
ただし
C1:第1書き込みモードブロックの記憶容量
C2:第2書き込みモードブロックの記憶容量
CAU:1つのAUのデータを記憶するのに要する記憶容量
B1:第1書き込みモードブロック数
B2:第2書き込みモードブロック数
そして、式1を満たす範囲で、第2書き込みモードブロックの数を大きくすれば、1AUのデータの記憶に要する物理ブロックの数を減ずることができる。しかし、一方で、第2書き込みモードのブロックが増えるほど、1AUのデータの書き込み速度は低下する。
ただし
C1:第1書き込みモードブロックの記憶容量
C2:第2書き込みモードブロックの記憶容量
CAU:1つのAUのデータを記憶するのに要する記憶容量
B1:第1書き込みモードブロック数
B2:第2書き込みモードブロック数
そして、式1を満たす範囲で、第2書き込みモードブロックの数を大きくすれば、1AUのデータの記憶に要する物理ブロックの数を減ずることができる。しかし、一方で、第2書き込みモードのブロックが増えるほど、1AUのデータの書き込み速度は低下する。
第1、第2書き込みモードブロックの数を適切に設定することによって、ある所望のスピードクラスが要求する書き込み速度を達成しつつ、メモリ6の記憶容量を大きくすることができる。以下、この手法について説明する。なお、以下の説明では、明示はしないが、式1が満たされていることが前提である。
まず、所望のスピードクラスが要求する書き込み速度を達成するための条件について説明する。1つのAUに属するデータをメモリ6に書き込むのに要する目標の平均速度が、速度WP3であるとする。そして、第1、第2書き込みモードの併用による平均速度が、速度WP3以上であることが求められる。すなわち、以下の式2が満たされていることが必要である。
CAU/{(C1/WP1)×B1+(C2/WP2)×B2}≧WP3 ・・・(式2)
ただし、
WP1:第1書き込みモードでの書き込み速度
WP2:第2書き込みモードでの書き込み速度
式2は、式3のようにも表現できる。
ただし、
WP1:第1書き込みモードでの書き込み速度
WP2:第2書き込みモードでの書き込み速度
式2は、式3のようにも表現できる。
(C1/WP1)×B1+(C2/WP2)×B2≦H ・・・(式3)
ここでHは、メモリシステム2が、ある目標のスピードクラスに属するために要求される、ある大きさの1つのAUのデータを書き込むのに要する時間であり、H=CAU/WP3である。すなわち、第1、第2書き込みモードブロック数B1、B2の場合に1AUのデータの書き込みに要する時間が、目標のスピードクラスが要求する速度で1AUのデータの書き込みに要する時間より短いことが求められる。
ここでHは、メモリシステム2が、ある目標のスピードクラスに属するために要求される、ある大きさの1つのAUのデータを書き込むのに要する時間であり、H=CAU/WP3である。すなわち、第1、第2書き込みモードブロック数B1、B2の場合に1AUのデータの書き込みに要する時間が、目標のスピードクラスが要求する速度で1AUのデータの書き込みに要する時間より短いことが求められる。
式2(または式3)が満たされるように、第1、第2書き込みモードブロック数B1、B2を決定することによって、目標の書き込み速度が達成される。
式2が満たされる範囲で、第1書き込みモードブロック数B1を大きくすれば、目標の書き込み速度を達成しつつ、メモリ6の記憶容量を大きくできる。
次に、図5を参照して本実施形態の実施例を示す。図5は、物理ブロックに設定される書き込みモードとの対応の具体例を示す図である。第1書き込みモードとして2値モードが用いられ、第2書き込みモードとして2値モードが用いられる。本実施例に係るメモリの各パラメータの例は以下の通りである。
C1=256[kB]
C2=512[kB]
CAU=4[MB]
WP1=16[MB/s]
WP2=5[MB/s]
このメモリを用いたメモリシステムにおいては、クラス6を実現、すなわち書き込み速度が6MB/sを超えることが求められているとする。この例では、第1書き込みモードブロック(2値モードブロック)の数が4個とされ、第2書き込みモードブロック(4値モードブロック)の数が6個とされている。まず、4個の2値モードブロックと6個の4値モードブロックとによって1AUの大きさに等しい4MBのデータを記憶できる。そして、書き込み速度については、1AUのデータを書き込むのに要する時間は、
(256[kB]/16[MB/s])×4+(512[kB]/5[MB/s])×6
=0.664[s]
である。よって、書き込み速度は、4MB/0.664[s]=6.024[MB/s]となり、クラス6が要求する書き込み速度6[MB/s]を上回っている。すなわち、このメモリシステムは、クラス6に分類されることが可能である。
C2=512[kB]
CAU=4[MB]
WP1=16[MB/s]
WP2=5[MB/s]
このメモリを用いたメモリシステムにおいては、クラス6を実現、すなわち書き込み速度が6MB/sを超えることが求められているとする。この例では、第1書き込みモードブロック(2値モードブロック)の数が4個とされ、第2書き込みモードブロック(4値モードブロック)の数が6個とされている。まず、4個の2値モードブロックと6個の4値モードブロックとによって1AUの大きさに等しい4MBのデータを記憶できる。そして、書き込み速度については、1AUのデータを書き込むのに要する時間は、
(256[kB]/16[MB/s])×4+(512[kB]/5[MB/s])×6
=0.664[s]
である。よって、書き込み速度は、4MB/0.664[s]=6.024[MB/s]となり、クラス6が要求する書き込み速度6[MB/s]を上回っている。すなわち、このメモリシステムは、クラス6に分類されることが可能である。
一方、メモリシステムの容量を見てみる。まず、ユーザデータの書き込みに使用可能な物理ブロックの数が4k個であるとすると、全物理ブロックに2値モードで書き込む場合のメモリシステムの記憶容量は、式4の通り、1GBである。
256k×4k=1GB ・・・(式4)
一方、本実施例のメモリシステムの記憶容量は、全物理ブロックの4割が2値モードブロックであり、6割が4値モードブロックであることから、式5の通りである。
一方、本実施例のメモリシステムの記憶容量は、全物理ブロックの4割が2値モードブロックであり、6割が4値モードブロックであることから、式5の通りである。
256k×(4/10)+512k×(6/10)=1.6GB ・・・(式5)
このように、容量は、全物理ブロックに2値モードで書き込んだ場合の1.6倍である。
このように、容量は、全物理ブロックに2値モードで書き込んだ場合の1.6倍である。
以上の法則に従って、各AUについて、1つのAUのデータの記憶のために固定数の第1書き込みモードブロックおよび第2書き込みモードブロックが割り当てられる。
例示の物理ブロック数(4k個)および書き込み速度(16[MB/s]、5M[MB/s])を有するメモリ6を用いて、実施形態に係るメモリシステム2を構成すると、このメモリシステム2の記憶容量は1.6GBと中途半端な容量となる。このような値が、例えば商品の流通上、好ましくない場合、物理ブロック数を増やすことによって、6[MB/s]の書き込み速度を達成しつつ、きりの良い記憶容量、例えば2GBへと調節することも可能である。具体的には、物理ブロック数を、4k個に2GB/1.6GB=1.25を乗じた値とすればよい。
また、メモリシステム2を、ホスト1からのコマンドによって、メモリシステムのスピードクラスを変更できるように構成することもできる。メモリシステム2は、外部からのコマンドに応じて、1つのAUに割り当てられる2値モードブロックと4値モードブロックの個数の構成(以下、物理ブロック構成と称する)を変更するように構成されている。そして、この構成を変更することによって、メモリシステム2は、複数のスピードクラスの何れかに対応できるように構成されている。
図6は、メモリシステムのスピードクラスを設定するための構成を示す図である。図6に示すように、SDインターフェース5には、クラス選択肢確認コマンドが設けられている。クラス選択肢確認コマンドは、ホスト1から供給され、SDインターフェース7を介してメモリシステム2によって受け取られる。コントローラ7は、このコマンドを受け取ると、自身が設定されることが可能なスピードクラスについてのデータをレスポンスとしてホスト1に送信する。
メモリシステム2に設定可能なクラスとして、図4で第1書き込みモードでの速度WP1=10[MB/s]、第2書き込みモードでの速度WP2=3.5[MB/s]となるようなメモリ6を用いた場合、以下のクラスおよび記憶容量の組み合わせが考えられる。
設定1:スピードクラス=クラス2、記憶容量=2GB
設定2:スピードクラス=クラス4、記憶容量=1.6GB
設定3:スピードクラス=クラス6、記憶容量=1GB
設定1、2、3でのAUごとの書き込み速度は、それぞれ3.5[MB/s]、4.18[MB/s]、10[MB/s]である。設定1は、全ての物理ブロックを4値モードブロックとして用いることにより実現できる。設定3は、全ての物理ブロックを2値モードブロックとして用いることにより実現できる。設定2は、図5に示す比率で4値モードブロックと2値モードブロックを配分することにより実現できる。
設定2:スピードクラス=クラス4、記憶容量=1.6GB
設定3:スピードクラス=クラス6、記憶容量=1GB
設定1、2、3でのAUごとの書き込み速度は、それぞれ3.5[MB/s]、4.18[MB/s]、10[MB/s]である。設定1は、全ての物理ブロックを4値モードブロックとして用いることにより実現できる。設定3は、全ての物理ブロックを2値モードブロックとして用いることにより実現できる。設定2は、図5に示す比率で4値モードブロックと2値モードブロックを配分することにより実現できる。
また、SDインターフェース5には、クラス設定コマンドが設けられている。ホスト1は、クラス選択肢確認コマンドを用いて知得した設定の選択肢(実現可能なスピードクラスと実現可能な容量の組み合わせの選択肢)の中から、希望の1つを決定する。そして、クラス設定コマンドが、ホスト1から供給され、SDインターフェース7を介してメモリシステム2によって受け取られる。クラス設定コマンドの引数には、ホスト1が要求する設定の識別番号が示されている。
コントローラ7は、クラス設定コマンド内の引数を、例えばシステムデータ領域に記憶する。また、コントローラ7は、自身の設定を、指定された設定でAUに対してユーザデータ領域内の物理ブロックの割り当て、書き込み方法へと変更する。そして、設定変更が成功すると、メモリシステム2は、設定変更成功の旨が表示されたレスポンスをホスト2に供給する。以降、メモリシステム2は、設定されたクラスでデータを書き込む。現在メモリシステムに設定されているクラスは、例えば、初期化時に、専用のコマンドによって、メモリシステム2からホスト1に読み出される。
なお、本発明は、以上の説明において例示したスピードクラスの定義に限定されない。同様の理論に従って、所定範囲の論理アドレスに対して、ある離散値の書き込み速度によってスピードクラスが定義されるメモリシステムにも等しく適用される。
本発明の第1の実施形態に係るメモリシステムによれば、メモリシステム2の物理ブロックの一部には書き込み速度が高いが記憶容量が小さい第1書き込みモードで書き込まれ、別の一部には書き込み速度が低いが記憶容量が大きい第2書き込みモードで書き込まれる。そして、第1書き込みモードで書き込まれる物理ブロックと第2書き込みモードで書き込まれる物理ブロックの割合は、求められる書き込み速度を達成しつつ、なるべく大きな容量を実現できるように各AUに対して共通に設定される。このため、高い記憶容量と高い書き込み速度の両立が可能なメモリシステムを提供できる。
[B]第2の実施形態
[1]メモリ空間の構成
図7を参照して、本発明の第2の実施形態のメモリ空間について説明する。図7は、本発明の第2の実施形態に係る物理ブロックと、論理アドレス空間との対応を例示している。
[1]メモリ空間の構成
図7を参照して、本発明の第2の実施形態のメモリ空間について説明する。図7は、本発明の第2の実施形態に係る物理ブロックと、論理アドレス空間との対応を例示している。
図7に示すように、1つの論理アドレス空間LASはメモリ領域31と対応しており、複数の論理アドレス群(AU)から構成される。本実施形態において、この論理アドレス空間が複数のパーティション(論理領域)P1,P2に分割され、そのパーティションP1,P2毎に、所定範囲の記憶容量がそれぞれ設定される。また、パーティションP1,P2には、それぞれ異なるスピードクラスが定義される。そして、各パーティションP1,P2のスピードクラスが要求する書き込み速度を達成しつつ設定された記憶容量が満たされるように、各パーティションのAUについて、式2(または式3)に基づき、第1または第2書き込みモードブロックの物理ブロックがそれぞれ割り付けられる。そのため、より効率的に、高い記憶容量と高い書き込み速度の両立が可能なメモリシステムを提供できる。
本実施形態のように、複数のパーティションを設定するにあたり、各パーティションの開始アドレス及び終了アドレスは、論理領域情報として、例えば、メモリカード2内のフラッシュメモリ6のシステムデータ領域に記憶される。この論理領域情報は、例えば、専用の書き込みコマンドによって書き込まれ、通常の読み出しコマンドによって読み出される。
また、1つのメモリカード(メモリシステム)内に複数のスピードクラスが混在する場合には、図1に示されるメモリカード2が有するコントローラ7は、そのSDインターフェース11内に、複数個のクラススペックを保持するためのレジスタ(図示せず)を含んでいる。これによって、ホスト1が、パーティションP1,P2毎のクラススペックを読み出すことができ、本発明の第2の実施形態のメモリシステムを提供できる。
[2]動作
本発明の第2の実施形態に係るメモリカード2のパーティションの認識動作の一例について、図1を参照して、説明する。
本発明の第2の実施形態に係るメモリカード2のパーティションの認識動作の一例について、図1を参照して、説明する。
はじめに、メモリカード2が、SDインターフェース5,11を介して、ホスト1と接続されると、各種初期化コマンドが発行されて、メモリカード1の初期化が行われる。そして、MPU12がフラッシュメモリ6内のシステムデータ領域から論理領域情報を読み出し、この論理領域情報を、インターフェース5,11を介して、ホスト1に通知する。
これによって、メモリカード2に設定された各パーティションP1,P2の開始・終了アドレス、記憶容量及びスピードクラスが、ホスト1に知得される。
続いて、図8を参照して、本実施形態のメモリカード2の書き込み動作について、より具体的な説明する。図8は、2つのパーティションP1,P2に分割された論理アドレス空間において、物理ブロックに設定される書き込みモードとの対応の具体例を示す図である。本実施形態においても、第1書き込みモードとして2値モードが用いられ、第2書き込みモードとして4値モードが用いられる。また、本実施形態に係るメモリシステムの各パラメータC1,C2、WP1,WP2は、第1の実施形態と同様とする。
本実施形態のメモリシステムにおいて、1つの論理アドレス空間LAS内に2つのパーティションP1,P2が設けられ、一方のパーティション(第1論理領域)P1の記憶容量は512MBに設定され、他方のパーティション(第2論理領域)P2の記憶容量は1408MBに設定される。そして、パーティションP1は、クラス6を実現、すなわち書き込み速度が6[MB/s]を超えることが求められ、他方のパーティションP2は、クラス4を実現、すなわち書き込み速度が4[MB/s]を超えることが求められているとする。
なお、ホスト1及びメモリカード2との通信がSDインターフェース5,11で規定される場合、1AUの容量はカード容量で決まる。本実施形態のように、論理アドレス空間が複数のパーティションに分割される場合では、パーティション容量で1AUの容量が決まるものとする。本実施形態においては、説明の簡単化のため、記憶容量が1GB以上のパーティションに関しては、1AUの記憶容量は4MBとし、1GBより小さいパーティションに関しては、1AUの記憶容量は2MBとする。よって、図8に示す例では、パーティションP1の1AUの記憶容量は2MB、パーティションP2の1AUの記憶容量は4MBとなる。また、以下の説明では、第1の実施形態と同様に、各パーティションの1つのAUに対して、式1が満たされていることが前提である。
このメモリシステムのパーティションP1においては、書き込み速度が6MB/sを超えることが求められているので、式1に基づくと、この例では、2値モードブロックの数が2個とされ、4値モードブロックの数が3個とされる。これによって、パーティションP1の1AUの大きさにほぼ等しい2MBのデータを記憶できる。そして、書き込み速度について、式2(または式3)に基づくと、1AUのデータを書き込むのに要する時間は、
(256[kB]/16[MB/s])×2+(512[kB]/5[MB/s])×3
=0.332[s]
である。よって、書き込み速度は、2MB/0.332s=6.024[MB/s]となり、クラス6が要求する書き込み速度6[MB/s]を上回っている。
(256[kB]/16[MB/s])×2+(512[kB]/5[MB/s])×3
=0.332[s]
である。よって、書き込み速度は、2MB/0.332s=6.024[MB/s]となり、クラス6が要求する書き込み速度6[MB/s]を上回っている。
一方、パーティションP2においては、書き込み速度が4MB/sを超えることが求められているので、この例では、4値モードブロックの数が8個とされている。これによって、パーティションP2の1AUの大きさに等しい4MBのデータを記憶できる。そして、書き込み速度について、1AUのデータを書き込むのに要する時間は、
(512[kB]/5[MB/s])×8
=0.819[s]
である。よって、書き込み速度は、4MB/0.819s=4.88[MB/s]となり、クラス4が要求する書き込み速度4[MB/s]を上回っている。
(512[kB]/5[MB/s])×8
=0.819[s]
である。よって、書き込み速度は、4MB/0.819s=4.88[MB/s]となり、クラス4が要求する書き込み速度4[MB/s]を上回っている。
すなわち、このメモリシステムにおいて、パーテョションP1はクラス6に分類され、パーティションP2はクラス4に分類されることが可能である。なお、図8に示す例において、パーティションP1のブロック数は5個×256AU=1280個、パーティションP2のブロック数は8個×352AU=352=2816個となり、メモリカード2の合計ブロック数は4096個となる。
このように、1つの論理アドレス空間内に、異なるスピードクラスが定義される複数のパーティションを設けることで、より効率的に高い記憶容量と高い書き込み速度の両立が可能なメモリシステムを提供できる。例えば、記憶容量が大きく書き込み速度が低く設定されたパーティションは、低いビットレートでの長時間の映像データの記録に適用し、記憶容量が小さく書き込み速度が高く設定されたパーティションは、ビットレートが高い映像または画像データの記録に適用する。あるいは、記憶容量が小さく書き込み速度が低く設定されたパーティションは、文書ファイル等のファイルサイズの小さいデータの記録に適用し、記憶容量が大きく書き込み速度が高く設定されたパーティションは、音声ファイル等のファイルサイズの大きいデータの記録に適用してもよい。
また、メモリカード2を、ホスト1からのコマンドによって、各パーティションに設定されるスピードクラス及び記憶容量を変更できるように構成することもできる。メモリカード2は、外部からのコマンドに応じて、各パーティションにおいて、1つのAUに割り当てられる物理ブロック構成を変更し、また、1つのパーティションに割り当てられるAUの個数の構成を変更するように構成されている。これによって、メモリシステム2は、複数のスピードクラス及び複数のパーティションの設定に対応できる。
以下では、本実施形態のメモリシステムにおける、各パーティションのスピードクラス及び記憶容量を設定するための構成について、図6を用いて説明する。
本実施形態において、第1の実施形態のクラス選択肢確認コマンドの代わりに、SDインターフェース5には容量/クラス選択肢確認コマンドが設けられる。コントローラ7は、ホスト1から共有されるこのコマンドを受け取る。そして、自身が設定可能な各パーティションのスピードクラス及び記憶容量についてのデータをレスポンスとしてホスト1に送信する。
メモリカード2に設定可能なクラスとして、例えば、第1書き込みモードでの速度WP1=10[MB/s]、第2書き込みモードでの速度WP2=3.5[MB/s]となるようなメモリ6を用いた場合、以下のクラスおよび記憶容量の組み合わせが考えられる。
設定1:パーティション数=1、スピードクラス=クラス4、記憶容量=2GB
設定2:パーティション数=1、スピードクラス=クラス6、記憶容量=1.6GB
設定3:パーティション数=2、
パーティション1・・・スピードクラス=クラス6、記憶容量=1GB
パーティション2・・・スピードクラス=クラス4、記憶容量=768MB
設定4:パーティション数=2、
パーティション1・・・スピードクラス=クラス6、記憶容量=512MB
パーティション2・・・スピードクラス=クラス4、記憶容量=1408MB
設定5:パーティション数=2、
パーティション1・・・スピードクラス=クラス6、記憶容量=256MB
パーティション2・・・スピードクラス=クラス4、記憶容量=1728MB
設定1でのAUごとの書き込み速度は、4.08[MB/s]である。設定1は、図5に示す比率で4値モードブロックと2値モードブロックを配分することにより実現できる。設定2でのAUごとの書き込み速度は、6.68[MB/s]であり、物理ブロックを、2個の4値モードブロックと12個の2値ブロックモードとに配分することにより実現できる。
設定2:パーティション数=1、スピードクラス=クラス6、記憶容量=1.6GB
設定3:パーティション数=2、
パーティション1・・・スピードクラス=クラス6、記憶容量=1GB
パーティション2・・・スピードクラス=クラス4、記憶容量=768MB
設定4:パーティション数=2、
パーティション1・・・スピードクラス=クラス6、記憶容量=512MB
パーティション2・・・スピードクラス=クラス4、記憶容量=1408MB
設定5:パーティション数=2、
パーティション1・・・スピードクラス=クラス6、記憶容量=256MB
パーティション2・・・スピードクラス=クラス4、記憶容量=1728MB
設定1でのAUごとの書き込み速度は、4.08[MB/s]である。設定1は、図5に示す比率で4値モードブロックと2値モードブロックを配分することにより実現できる。設定2でのAUごとの書き込み速度は、6.68[MB/s]であり、物理ブロックを、2個の4値モードブロックと12個の2値ブロックモードとに配分することにより実現できる。
設定3でのパーティション1のAU(4MB)ごとの書き込み速度は、6.66[MB/s]であり、物理ブロックを、2個の4値モードブロックと12個の2値ブロックモードとに配分することにより実現できる。また、パーティション2のAU(2MB)ごとの書き込み速度は、5.06[MB/s]である。パーティション2の各AUについては、物理ブロックを、3個の4値モードブロックと2個の2値ブロックモードとに配分することにより実現できる。
設定4、5でのパーティション1のAU(2MB)ごとの書き込み速度は、6.66[MB/s]であり、パーティション2のAU(4MB)ごとの書き込み速度は、4.08[MB/s]である。設定4、5は、パーティション1のAUについて、物理ブロックを、1個の4値モードブロックと6個の2値ブロックモードとに配分することにより実現できる。また、パーティション2のAUについては、物理ブロックを、6個の4値モードブロックと4個の2値ブロックモードとに配分することにより実現できる。
また、本実施形態においては、第1の実施形態で述べたクラス設定コマンドの代わりに、SDインターフェース5には、容量/クラス設定コマンドが設けられている。ホスト1は、容量/クラス選択肢確認コマンドを用いて知得した設定の選択肢の中から、希望の1つを決定する。そして、容量/クラス設定コマンドが、ホスト1から供給され、SDインターフェース7を介してメモリシステム2によって受け取られる。容量/クラス設定コマンドの引数には、ホスト1が要求する設定の識別番号が示されている。
コントローラ7は、その引数を、例えばシステムデータ領域に記憶し、自身の設定を、指定された設定でAUに対してユーザデータ領域内の物理ブロックの割り当て、指定されたパーティション数、その記憶容量および書き込み方法へと変更する。設定変更ののち、メモリカード2は、設定変更成功の旨が表示されたレスポンスをホスト1に供給する。以降、メモリカード2は、設定されたクラスでデータを、設定されたパーティションのAUに対応するブロックへと書き込む。現在メモリシステムに設定されているパーティション及びクラスは、例えば、初期化時に、専用のコマンドによって、メモリカード2からホスト1に読み出される。
なお、本発明は、以上の説明において例示したパーティション数及びパーティションの記憶容量等に限定されない。例えば、本実施形態においては、2値モードブロックと4値モードブロックとを混在させる例を示したが、各パーティションに定義されたスピードクラスが満たされていればよく、6値モードブロックや8値モードブロックなどをさらに混在させて、AUに割り当ててもよい。或いは、あるパーティションのAUには、すべて2値モードブロックを割り当て、他のパーティションのAUには、すべて4値モードブロックを割り当ててもよい。
また、本発明は、以上の説明において例示したスピードクラスの定義に限定されない。同様の理論に従って、所定範囲の論理アドレスに対して、ある離散値の書き込み速度によってスピードクラスが定義されるメモリシステムにも等しく適用される。
本発明の第2の実施形態に係るメモリシステムによれば、1つの論理アドレス空間内には複数のパーティションが設定され、それぞれ異なるスピードクラスが定義される。また、メモリカード2の物理ブロックの一部には、書き込み速度が高いが記憶容量が小さい第1書き込みモードでデータが書き込まれ、別の一部には書き込み速度は低いが記憶容量が大きい第2書き込みモードでデータが書き込まれる。そして、定義されたスピードクラスが満たされるように、各パーティションのAUに対して、物理ブロックの割合がそれぞれ異なって割り付けられる。このため、より効率的に高い記憶容量と高い書き込み速度の両立が可能なメモリシステムを提供できる。
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
1…ホスト装置、2…メモリカード、3…ソフトウェアアプリケーション、4…ファイルシステム、5、11…SDインターフェース、6…メモリ、7…コントローラ、12…MPU、13…ROM、14…RAM、15…NANDインターフェース。
Claims (5)
- それぞれが複数の記憶素子の組からなる複数の記憶領域を有し、前記複数の記憶素子のそれぞれによって1または2以上のビットのデータを記憶する機能を有し、前記複数の記憶素子のそれぞれにn(nは自然数)ビットのデータを記憶させる第1書き込みモードまたは前記複数の記憶素子のそれぞれにn+1以上のビットのデータを記憶させる第2書き込みモードを前記複数の記憶領域ごとに選択する機能を有する不揮発性半導体メモリと、
所定の範囲に属する複数の論理アドレスからなる複数の論理アドレス群のそれぞれについて、前記論理アドレス群に含まれる前記論理アドレスを付されたデータの一部を予め設定された第1個数の前記複数の記憶領域に第1書き込みモードで書き込み、別の一部を予め設定された第2個数の前記複数の記憶領域に第2書き込みモードで書き込むことにより記憶するように前記不揮発性半導体メモリに指示するコントローラと、
を具備することを特徴とするメモリシステム。 - 前記第1個数と前記第2個数の第1組み合わせでの第1動作、または前記第1個数と前記第2個数の第2組み合わせでの第2動作と行う機能をさらに有し、
前記第1動作による性能と第2動作による性能とを示す情報を外部に出力する機能をさらに有し、
外部からの制御により、第1動作または第2動作を切り替える機能をさらに有する、
ことを特徴とする請求項1に記載のメモリシステム。 - それぞれが複数の記憶素子の組からなる複数の記憶領域を有し、前記複数の記憶素子のそれぞれによって1または2以上のビットのデータを記憶する機能を有し、前記複数の記憶素子のそれぞれにn(nは自然数)ビットのデータを記憶させる第1書き込みモードまたは前記複数の記憶素子のそれぞれにn+1以上のビットのデータを記憶させる第2書き込みモードを前記複数の記憶領域ごとに選択する機能を有する不揮発性半導体メモリと、
所定の範囲に属する複数の論理アドレスからなる複数の論理アドレス群のそれぞれについて、前記論理アドレス群に含まれる前記論理アドレスを付されたデータの一部を予め設定された第1個数の前記複数の記憶領域に前記第1書き込みモードで書き込み、別の一部を予め設定された第2個数の前記複数の記憶領域に前記第2書き込みモードで書き込むことにより記憶するように前記不揮発性半導体メモリに指示するコントローラとを具備し、
第1記憶容量の第1論理領域と、第2記憶容量の第2論理領域がそれぞれ設定され、
前記第1論理領域の前記論理アドレス群と前記第2論理領域の前記論理アドレス群に対し、前記第1個数または前記第2個数がそれぞれ異なって、前記複数の記憶領域が割り付けられる、ことを特徴とするメモリシステム。 - 前記第1個数と前記第2個数の第1組み合わせでの第1動作と、または前記第1個数と前記第2個数の第2組み合わせでの第2動作とを行う機能をさらに有し、
前記第1記憶容量と、前記第2記憶容量とを設定する機能をさらに有し、
前記第1論理領域に対して前記第1または第2動作のうちいずれか一方を定義し、前記第2論理領域に対して前記第1または第2動作のうち他方を定義する機能をさらに有し、
前記第1記憶容量と前記第2記憶容量とを示す情報と、前記第1論領域に対して定義された動作による性能と前記第2論理領域に対して定義された動作による性能とを示す情報を外部に出力する機能とをさらに有し、
外部からの制御により、前記第1記憶容量または前記第2記憶容量を変更する機能をさらに有し、
前記第1論領域に対して定義された動作による性能と前記第2論理領域に対して定義された動作を切り替える機能をさらに有する、
ことを特徴とする請求項3に記載のメモリシステム。 - 前記第1個数と前記第2個数が、
前記第1書き込みモードで書き込まれた前記複数の前記記憶領域の容量と前記第2書き込みモードで書き込まれた前記複数の前記記憶領域の容量とが前記論理アドレス群に含まれる前記論理アドレスを付されたデータの容量以上となり、且つ
前記論理アドレス群に含まれる前記論理アドレスを付されたデータの書き込みに要する平均の書き込み時間が所定の設定書き込み時間を下回る、ように設定される、
ことを特徴とする請求項1乃至4のうちいずれか一項に記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007327814A JP2008276733A (ja) | 2007-04-06 | 2007-12-19 | メモリシステム |
US12/062,060 US20080250220A1 (en) | 2007-04-06 | 2008-04-03 | Memory system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007100675 | 2007-04-06 | ||
JP2007327814A JP2008276733A (ja) | 2007-04-06 | 2007-12-19 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008276733A true JP2008276733A (ja) | 2008-11-13 |
Family
ID=40054574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007327814A Withdrawn JP2008276733A (ja) | 2007-04-06 | 2007-12-19 | メモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008276733A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012068986A (ja) * | 2010-09-24 | 2012-04-05 | Toshiba Corp | メモリシステム |
WO2013094041A1 (ja) * | 2011-12-21 | 2013-06-27 | 株式会社日立製作所 | 計算機システム、及び管理システム |
JP2014035786A (ja) * | 2012-08-08 | 2014-02-24 | Samsung Electronics Co Ltd | 不揮発性メモリ装置とプログラミング方法 |
JP2015232888A (ja) * | 2015-07-09 | 2015-12-24 | 株式会社日立製作所 | ストレージシステム |
US9251055B2 (en) | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
JP2016508276A (ja) * | 2013-01-14 | 2016-03-17 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | ソリッドステートメモリにおける動作のモードを構成するシステム及び方法 |
US11907579B2 (en) | 2021-09-21 | 2024-02-20 | Kioxia Corporation | Memory system |
-
2007
- 2007-12-19 JP JP2007327814A patent/JP2008276733A/ja not_active Withdrawn
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910597B2 (en) | 2010-09-24 | 2018-03-06 | Toshiba Memory Corporation | Memory system having a plurality of writing modes |
US11893238B2 (en) | 2010-09-24 | 2024-02-06 | Kioxia Corporation | Method of controlling nonvolatile semiconductor memory |
US11579773B2 (en) | 2010-09-24 | 2023-02-14 | Toshiba Memory Corporation | Memory system and method of controlling memory system |
US8832357B2 (en) | 2010-09-24 | 2014-09-09 | Kabushiki Kaisha Toshiba | Memory system having a plurality of writing mode |
JP2012068986A (ja) * | 2010-09-24 | 2012-04-05 | Toshiba Corp | メモリシステム |
US11216185B2 (en) | 2010-09-24 | 2022-01-04 | Toshiba Memory Corporation | Memory system and method of controlling memory system |
US10877664B2 (en) | 2010-09-24 | 2020-12-29 | Toshiba Memory Corporation | Memory system having a plurality of writing modes |
US10871900B2 (en) | 2010-09-24 | 2020-12-22 | Toshiba Memory Corporation | Memory system and method of controlling memory system |
US10055132B2 (en) | 2010-09-24 | 2018-08-21 | Toshiba Memory Corporation | Memory system and method of controlling memory system |
US8984211B2 (en) | 2011-12-21 | 2015-03-17 | Hitachi, Ltd. | Computer system and management system |
US9477405B2 (en) | 2011-12-21 | 2016-10-25 | Hitachi, Ltd. | Storage system |
JPWO2013094041A1 (ja) * | 2011-12-21 | 2015-04-27 | 株式会社日立製作所 | 計算機システム、及び管理システム |
WO2013094041A1 (ja) * | 2011-12-21 | 2013-06-27 | 株式会社日立製作所 | 計算機システム、及び管理システム |
US9251055B2 (en) | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
JP2014035786A (ja) * | 2012-08-08 | 2014-02-24 | Samsung Electronics Co Ltd | 不揮発性メモリ装置とプログラミング方法 |
JP2016508276A (ja) * | 2013-01-14 | 2016-03-17 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | ソリッドステートメモリにおける動作のモードを構成するシステム及び方法 |
JP2015232888A (ja) * | 2015-07-09 | 2015-12-24 | 株式会社日立製作所 | ストレージシステム |
US11907579B2 (en) | 2021-09-21 | 2024-02-20 | Kioxia Corporation | Memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080250220A1 (en) | Memory system | |
US11880602B2 (en) | Data writing method and storage device | |
KR100858241B1 (ko) | 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법 | |
JP4746598B2 (ja) | 半導体記憶装置 | |
US20170160942A1 (en) | Data storage device and flash memory control method | |
US7694066B2 (en) | Nonvolatile memory with active and passive wear leveling | |
US7248493B2 (en) | Memory system having improved random write performance | |
JP2008009919A (ja) | カードコントローラ | |
JP5497754B2 (ja) | アドホックフラッシュメモリ基準セル | |
JP2008276733A (ja) | メモリシステム | |
CN102047230A (zh) | 混合式存储器管理 | |
KR20010110073A (ko) | 블록 얼라인먼트 기능을 갖는 반도체 기억 장치 | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
CN112201292A (zh) | 控制器及其操作方法 | |
US8745312B2 (en) | Storage device and method of mapping a nonvolatile memory based on a map history | |
JP2012113343A (ja) | 記憶装置 | |
JP2007141376A (ja) | 半導体記憶装置及びその制御方法 | |
JP2009175877A (ja) | 半導体メモリ | |
TWI644215B (zh) | 用來控制一資料儲存裝置的運作之方法以及資料儲存裝置及其控制器 | |
CN108231119B (zh) | 用每单元分数比特低延迟读取快闪存储设备的方法和装置 | |
JP2011204304A (ja) | データ記憶装置、及びその書き込み方法 | |
TWI706249B (zh) | 半導體儲存裝置 | |
JP4661566B2 (ja) | アクセスコントローラ、フラッシュメモリシステム及びアクセス制御方法 | |
JP2009266125A (ja) | メモリシステム | |
US10089226B2 (en) | Systems and methods for immediate physical erasure of data stored in a memory system in response to a user command |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110301 |