(57)【要約】記録媒体（１）は、データを書き込むための記憶領域を有する不揮発性メモリ（１２）と、記憶領域に対するデータの書き込みを制御するコントローラ（１１）と、を有し、コントローラ（１１）は、記憶領域を複数の区域に分割し、複数の区域の中から１つの区域を選択し、選択した区域のみをデータ記録領域として使用し、選択された区域の書き換え率が第１の所定値に達すると、データ記録領域として使用する領域を複数の区域において未だ使用していない別の区域に切り替える。
2018186453.tif 000002
【特許請求の範囲】
【請求項１】
データを書き込むための記憶領域を有する不揮発性メモリと、
前記記憶領域に対するデータの書き込みを制御するコントローラと、
を有し、
前記コントローラは、
前記記憶領域を複数の区域に分割し、
前記複数の区域の中から１つの区域を選択し、選択された区域のみをデータ記録領域として使用し、
前記選択された区域の書き換え率が第１の所定値に達すると、データ記録領域として使用する領域を前記複数の区域において未だ使用していない別の区域に切り替える、
記録媒体。
【請求項２】
前記書き換え率は、許容可能な書き込み回数に対する実際の書き込み回数の比率である、
請求項１に記載の記録媒体。
【請求項３】
前記不揮発性メモリは、前記記憶領域が前記複数の区域に分割されていることを示す情報を有する、
請求項１に記載の記録媒体。
【請求項４】
前記不揮発性メモリは、使用中の前記区域を示す情報を有する、
請求項１に記載の記録媒体。
【請求項５】
前記不揮発性メモリは、各区域の前記書き換え率を示す情報を有する、
請求項１に記載の記録媒体。
【請求項６】
前記コントローラは、現在使用中の前記区域の前記書き換え率が前記第１の所定値より小さい第２の所定値に達したときに、前に使用していた前記区域に書き込まれているデータの中で、現在使用中の前記区域に移動していないデータを、現在使用中の前記区域に移動する、
請求項１に記載の記録媒体。
【請求項７】
前記コントローラは、
ホストから送信されるコマンドに基づいて、前記不揮発性メモリを制御するものであり、
前記複数の区域の全てをデータ記録領域として順に選択した後、最後に選択した前記区域の前記書き換え率が第３の所定値に達したときに、前記ホストに警告を通知する、
請求項１に記載の記録媒体。
【請求項８】
前記不揮発性メモリは、ＮＡＮＤ型フラッシュメモリである
請求項１に記載の記録媒体。
【請求項９】
前記コントローラは、ユーザが指定した分割数に応じて、前記記憶領域を前記複数の区域に分割する
請求項１に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、不揮発性メモリを備えた記録媒体に関する。
【背景技術】
【０００２】
特許文献１は、不揮発性メモリと、不揮発性メモリの管理情報に基づいて不揮発性メモリのアクセス領域を制御するコントローラと、を有する記憶装置を開示している。この記憶装置は、複数の管理情報によって、不揮発メモリの記憶領域を分割して管理している。これにより、各管理情報の有効／無効の判断を素早く行うことを可能にしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４３０１３０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、不揮発性メモリの使用回数を増大させることが可能な記録媒体を提供する。
【課題を解決するための手段】
【０００５】
本開示にかかる記録媒体は、データを書き込むための記憶領域を有する不揮発性メモリと、記憶領域に対するデータの書き込みを制御するコントローラと、を有し、コントローラは、記憶領域を複数の区域に分割し、複数の区域の中から１つの区域を選択し、選択した区域のみをデータ記録領域として使用し、選択された区域の書き換え率が第１の所定値に達すると、データ記録領域として使用する領域を複数の区域において未だ使用していない別の区域に切り替える。
【発明の効果】
【０００６】
本開示における記録媒体は、不揮発性メモリの使用回数を増大させることができる。
【図面の簡単な説明】
【０００７】
【図１】図１は、本開示の一態様の情報記録システムの構成を示すブロック図である。
【図２】図２は、記録媒体の記憶領域の分割の一例を示す図である。
【図３】図３は、管理情報の一例を示す図である。
【図４】図４は、記憶領域と管理情報の具体例を示す図である。
【図５】図５は、本開示の一態様の記録媒体の動作を示すフローチャートである。
【図６】図６は、前ページの残存データの移動の詳細を示すフローチャートである。
【図７】図７は、データ書き込みの具体例を示す図である。
【図８】図８は、本開示の一態様のホストの動作を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【０００９】
なお、発明者（ら）は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
【００１０】
（本開示に至った経緯）
ＮＡＮＤ型フラッシュメモリなどの不揮発性メモリを構成する記憶素子には、書き換え可能な回数に上限がある。そのため、通常、不揮発性メモリを備えた記録媒体は、データの書き込みが一部の記憶素子に偏らないようにしている。すなわち、データの書き込み先を分散させて、不揮発性メモリを構成する複数の記憶素子の書き込み回数が平準化されるようにしている。
【００１１】
しかし、大容量の不揮発性メモリの場合、各記憶素子に対する書き換え回数を十分に平準化することは難しい。そのため、書き換え回数の上限に達していない記憶素子が多く存在していたとしても、一部の記憶素子の書き換え回数が上限に達することによって、その不揮発性メモリにデータが書き込めなくなることがあった。本開示は、不揮発性メモリの使用回数を増大させることが可能な記録媒体を提供する。
【００１２】
（実施の形態１）
１．構成
図１は、本開示の一態様の情報記録システムを開示する。
【００１３】
情報記録システムは、データを格納する記録媒体１と、記録媒体１に対してデータの書き込み、読み出しを行うホスト２とを備える。
【００１４】
記録媒体１は、例えば、ＳＤメモリカード、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。
【００１５】
ホスト２は、例えば、パソコン、デジタルカメラ、スマートフォンである。
【００１６】
本実施の形態においては、記録媒体１とホスト２は、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）規格に準拠したバスで接続されるとしている。しかし、記録媒体１及びホスト２は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格とは別の規格に準拠したバスで接続されてもよい。
【００１７】
記録媒体１は、コントローラ１１と、メモリ１２と、情報格納部１３と、コネクタ１４とを含む。
【００１８】
コントローラ１１は、コネクタ１４を介して受信したホスト２からのコマンドに基づいて、メモリ１２に対してデータの読み書きなどの処理を行う。コントローラ１１は、半導体素子などで実現可能であり、例えば、マイコン、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＦＰＧＡ、ＡＳＩＣで構成することができる。
【００１９】
本実施の形態において、メモリ１２は、ＮＡＮＤ型フラッシュメモリである。しかし、メモリ１２は、ＮＡＮＤ型フラッシュメモリ以外の不揮発性メモリであってもよい。メモリ１２は、データが記録される記憶領域を有する。
【００２０】
情報格納部１３には、管理情報１３１と、アドレス変換テーブル１３２とが記録される。管理情報１３１は、メモリ１２の記憶領域の使用状況を管理するための情報である。アドレス変換テーブル１３２は、ホスト２から指定された論理アドレスとメモリ１２内の物理アドレスとの対応付けを行うテーブルである。情報格納部１３は、例えば、ＲＡＭ、ＤＲＡＭ、強誘電体メモリ、フラッシュメモリ、又はこれらの組み合わせによって実現できる。
【００２１】
コネクタ１４は、ホスト２と電気的に接続する部材であり、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠して構成される。
【００２２】
ホスト２は、ルートコンプレックス（ＲｏｏｔＣｏｍｐｌｅｘ）２１と、ＣＰＵ２２と、ＰＣＩｅスイッチ２３と、コネクタ２４と、データ転送部２５と、バッファ２６と、表示部２７とを含む。ルートコンプレックス（ＲｏｏｔＣｏｍｐｌｅｘ）２１と、ＰＣＩｅスイッチ２３とは、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通信を行うための構成である。ルートコンプレックス（ＲｏｏｔＣｏｍｐｌｅｘ）２１、ＣＰＵ２２、ＰＣＩｅスイッチ２３、データ転送部２５、バッファ２６、及び表示部２７は、バス２８で相互に接続されている。
【００２３】
ＣＰＵ２２は、ホスト２全体を制御する。ホスト２は、記録媒体１が挿入されるスロット（図示せず）を備えており、このスロット内にコネクタ２４が設けられている。コネクタ２４は、記録媒体１と電気的に接続する部材であり、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠して構成される。データ転送部２５は、ＣＰＵ２２の制御に従って、コマンドやデータを記録媒体１に送信する。表示部２７は、例えば、液晶パネルや有機ＥＬパネルである。
【００２４】
記録媒体１が、コネクタ１４とコネクタ２４を介してホスト２に接続されると、記録媒体１とホスト２との間で、コマンドやデータの送受信が行われる。
【００２５】
本実施の形態の情報記録システムでは、記録媒体１のメモリ１２の記憶領域全体を、所定サイズの複数の区域（以下「ページ」という）に分割し、分割された複数のページの中の１ページのみをデータ記録可能な領域に割り当てる。すなわち、メモリ１２の記憶領域の一部の領域のみを、データ記録領域として使用する。データ記録領域に割り当てられた１つのページにおいて、書き換え率が所定値を超えると、そのページへのデータ書き込みを禁止し、次のページをデータ記録領域として割り当てる。以後、順次、１つのページに対する書き換え率が所定値を超える度に、データ記録領域は、順次、他のページに切り替えられていく。このようにデータ記録領域を設定することで、一時に利用できるメモリ容量は減少するが、各ページの領域に対する書き換え回数をより多くすることができる。
【００２６】
図２は、メモリ１２の記憶領域の分割を模式的に示した図である。記憶領域は、均一のサイズで複数のページに分割されている。ページの数（分割数）は任意である。ページの数は予め決められていてもよいし、コントローラ１１がユーザの指示に基づいて決めても良い。本実施の形態においては、一例として、記憶領域を４つのページに分割している。例えば、記憶領域全体が１００ＴＢの場合、各ページは２５ＴＢである。
【００２７】
記録媒体１のコントローラ１１は、データの記録領域として、ページを一つずつ順番に使用していく。具体的には、コントローラ１１は、最初、ページ１を使用して、ホストから送信されたデータをページ１に書き込む。このとき、ページ２〜４はデータ記録には使用されない。ホスト２から指定される論理アドレス（１〜Ｍのいずれか）は、アドレス変換テーブル１３２により、ページ１内の物理アドレス（１〜Ｎのいずれか）に対応付けられる。アドレス変換テーブル１３２において、論理アドレス１〜Ｍと物理アドレス１〜Ｎとの対応付けは、データの書き換え等により変更される。
【００２８】
コントローラ１１は、ページ１の書き換え率がしきい値以上になると、データ記録領域をページ１からページ２に切り替える。本実施の形態では、ページの「書き換え率（書き込み率）」は、設定されたページ全体における許容可能な書き込み回数に対する現時点でのそのページに対する実際の書き込み回数の比率と定義する。具体的には、書き換え率は次式で算出される。
【００２９】
書き換え率＝現時点の書き込み回数／許容可能な書き込み回数
しきい値は１００％に近い値、例えば９５％に設定される。さらに、ページ２の書き換え率がしきい値（例えば９５％）を超えると、データ記録領域を、ページ２からページ３に切り替える。このとき、ページ１、３、４はデータ記録には使用されない。このようにして、本実施の形態においては、データ記録領域として、ページ１からページ４まで順番にページを使用していく。
【００３０】
図３は、上記のようなデータ記録領域の管理を行うために使用する管理情報１３１の一例を示した図である。管理情報１３１は、メモリ１２の記憶領域を複数のページに分割して使用していることを示す分割フラグ１３１ａと、現在使用しているページを示す使用ページ情報１３１ｂと、各ページの現時点の書き換え率を示す書き換え率情報１３１ｃとを含む。
【００３１】
図４は、ページの使用状況に対する管理情報１３１の具体例を説明した図である。図４の例では、メモリ１２の記憶領域は４つのページに分割されている。そのため、分割フラグ１３１ａには、記憶領域が分割されていることを示す「ＹＥＳ」が設定されている。図４において、ページ１、２の領域に施されたハッチングは、各ページの書き換え率を模式的に表している。ページ１の書き換え率は１００％に近く、ページ２の書き換え率はまだ半分程度である。このとき、現在使用中のページは「ページ２」であり、よって、使用ページ情報１３１ｂには、「２／４」（２ページ目を意味）が設定される。各ページについて書き換え率が、「現時点の書き込み回数／許容可能な書き込み回数」によって算出される。書き換え率情報１３１ｃにおいて、ページ１〜４の書き換え率としてそれぞれ、９６％、５２％、０％、０％が設定される。
【００３２】
２．動作
２．１  記録媒体の全体動作
図５は、記録媒体１のコントローラ１１による制御を示している。本実施の形態では、説明の便宜上、１回の書き込みコマンドで、所定のデータ量（固定サイズ）のデータの書き込みが指示されるとして説明を行う。
【００３３】
記録媒体１がホスト２に接続されると、記録媒体１のコントローラ１１は初期化処理を行う（Ｓ１０１）。初期化処理では、例えば、コントローラ１１は、分割フラグ１３１ａ、ページのサイズ、記憶領域全体のサイズ、及び記録媒体１の性能を示すパラメータなどをホスト２に送信する。
【００３４】
初期化処理が終わると、コントローラ１１はホスト２からのコマンドを待つ。コントローラ１１は、ホスト２からコマンドを受信すると、そのコマンドが書き込みコマンドか否かを判断する（Ｓ１０２）。ホスト２から送信される書き込みコマンドは、書き込み開始位置を示す論理アドレスと、書き込むべきデータとを含む。
【００３５】
ホスト２から書き込みコマンドを受信すると、コントローラ１１は、管理情報１３１を参照して、現在使用中のページの書き換え率が所定値（本実施の形態において、６０％）を越えているか否かを判断する（Ｓ１０３）。現在使用中のページの書き換え率が６０％を越えていなければ、コントローラ１１は、ステップＳ１０２の書き込みコマンドで書き込みを指示されたデータを現在使用中のページに書き込む（Ｓ１０９）。
【００３６】
一方、現在使用中のページの書き換え率が６０％を越えていた場合、コントローラ１１は、前に使用していたページのデータであって、書き換えられていないデータを現在使用中のページに移動させる（Ｓ１０４）。これは、現在使用中のページの書き換え率が６０％を超えているにも関わらず、未だ、前に使用していたページから移動されないデータが残っている場合には、半ば強制的にデータを移動する必要があるからである。ステップＳ１０４の詳細については後述する。
【００３７】
その後、コントローラ１１は、現在使用中のページの書き換え率が、ページ切り替えのためのしきい値（本実施の形態において９５％）を越えたか否かを判断する（Ｓ１０５）。現在使用中のページの書き換え率が９５％を越えていなければ、コントローラ１１は、ステップＳ１０２の書き込みコマンドで書き込みを指示されたデータを現在使用中のページに書き込む（Ｓ１０９）。
【００３８】
一方、現在使用中のページの書き換え率が９５％を越えていれば、コントローラ１１は、管理情報１３１に基づいて、使用ページが最終ページであるか否かを判断する（Ｓ１０６）。使用ページが最終ページであれば、次のページが存在しないため、書き換え率が９５％を越えていても、コントローラ１１は、その最終ページに、ステップＳ１０２の書き込みコマンドで書き込みを指示されたデータを書き込む（Ｓ１０９）。
【００３９】
現在使用中のページの書き換え率が９５％を越えていて、且つ使用ページが最終ページでなければ、コントローラ１１は、ステップＳ１０２の書き込みコマンドで書き込みを指示されたデータを、次のページ（未使用のページ）に書き込む（Ｓ１０７）。次のページにデータを書き込んだときは、コントローラ１１は、現在使用中のページの書き込み回数を示すカウンタをゼロにリセットする（Ｓ１０８）。また、コントローラ１１は、管理情報１３１の使用ページ情報１３１ｂを更新する。
【００４０】
コントローラ１１は、ステップＳ１０７又はＳ１０９においてデータを書き込んだ後に、カウンタの値を一つ増加させる（Ｓ１１０）。これにより、カウンタによって示される現在使用中のページの書き込み回数が一つ増える。また、このとき、コントローラ１１は、「カウンタの値／許容可能な書き込み回数」によって、現在使用中のページの書き換え率を算出し、管理情報１３１の書き換え率情報１３１ｃを更新する。
【００４１】
コントローラ１１は、書き込み以外のコマンドを受け取ったときは（Ｓ１０２でＮｏ）、そのコマンドに応じた処理を実行する（Ｓ１１４）。例えば、ホスト２から読み出しコマンドを受け取ったときは、コントローラ１１は、記憶領域の指定された領域からデータを読み出して、ホスト２に送信する。
【００４２】
コントローラ１１は、ホスト２からのコマンドに応じた処理を行った後（ステップＳ１１０又はＳ１１４の後）、管理情報１３１を参照して、メモリ１２の最終ページの書き換え率が、警告のためのしきい値（本実施の形態において、８０％）を越えているか否かを判断する（Ｓ１１１）。最終ページの書き換え率が８０％を超えていた場合は、コントローラ１１は、最終ページの書き換え率が高くなったことを示す警告をホスト２に通知する（Ｓ１１２）。
【００４３】
コントローラ１１は、記録媒体１がホスト２から取り外されたか否かを判断し（Ｓ１１３）、取り外されていなければ、ステップＳ１０２に戻り、ホスト２からの次のコマンドを待つ。記録媒体１がホスト２から取り外された場合は、図５に示す処理を終了する。
【００４４】
２．２  記録媒体における残存データの移動の動作
上記のステップＳ１０４の処理の詳細を、図６を参照して説明する。図６は、前に使用していたページのデータであって、書き換えられていないデータを現在使用しているページに移動させる処理（図５のステップＳ１０４）の詳細を示したフローチャートである。
【００４５】
コントローラ１１は、現在使用しているページが最初のページが否かを判断する（Ｓ１５１）。
【００４６】
現在使用しているページが最初のページ（ページ１）でない場合、前に使用していたページのデータであって、書き換えられていないデータ、すなわち、現在使用しているページに未だ移動されていないデータが、前に使用していたページに残っているか否かを判断する（Ｓ１５２）。移動していないデータが前に使用していたページに残っていれば、コントローラ１１は、そのデータを現在使用しているページに移動させる（Ｓ１５３）。その後、コントローラ１１は、データを移動させた分、カウンタを増加させる（Ｓ１５４）。
【００４７】
一方、現在使用しているページが最初のページ（ページ１）の場合（Ｓ１５１でＹｅｓ）、又は前に使用していたページのデータの全てが現在使用しているページに移動済みの場合（Ｓ１５２でＹｅｓ）は、移動すべきデータがないため、図６に示す処理を終了する。
【００４８】
上記説明においては、１回の書き込みコマンドによって書き込まれるデータ量が所定のデータ量（固定サイズ）である場合を例にして説明した。しかし、１回の書き込みコマンドによって書き込まれるデータ量は可変であってもよい。その場合、カウンタを増加させる場合に、１回の書き込みコマンドによって書き込まれるデータ量に応じてカウンタの増分を変化させればよい。すなわち、「所定サイズ×α」に相当する総データ量のデータを書き込んだときは、カウンタの増分を「α」に設定する。例えば、データ量が「所定サイズ×５」のデータを書き込んだときは、カウンタの増分を「＋５」にする。
【００４９】
２．３  データ書き込みの具体例
図７を参照して、データ書き込みの具体例を説明する。図７は、ページ２にデータが書き込まれている状態を示している。
【００５０】
例えば、現在使用中のページ１の書き換え率が９５％を超えた状態で、ホスト２から書き込みコマンドを受信した場合、ページが切り替わり、次のページ（ページ２）にデータが書き込まれる（図５のステップＳ１０５、Ｓ１０７）。ページ２にデータを書き込む場合、コントローラ１１は、まず、書き込みコマンドで指定された論理アドレスに基づきアドレス変換テーブル１３２を参照して、物理アドレスを特定する。例えば、書き込みコマンドが論理アドレス「８５」のデータの書き換えを指示している場合、コントローラ１１は、アドレス変換テーブル１３２を参照して、論理アドレス「８５」に対応する物理アドレス「１０１」を特定し、物理アドレス「１０１」の位置に書き込まれているデータを読み出す。そして、コントローラ１１は、読み出したデータの一部を、書き込みコマンドに基づいて変更し、変更後のデータを次ページ（ページ２）の物理アドレス「Ｎ＋１」に対応する位置に書き込む。そして、コントローラ１１は、論理アドレスをページ２の物理アドレスに対応づけるようにアドレス変換テーブル１３２を更新する。このように、使用中のページが切り替えられたページ（例えば、ページ２）である場合、書き込みコマンドを受信したときに、コマンドに指定された論理アドレスに対応付けられている前のページ（例えば、ページ１）内の物理アドレスの位置にあるデータを変更して、変更後のデータを現在使用中のページ（例えば、ページ２）に書き込む。
【００５１】
よって、書き込みコマンドに応じて現在使用中のページへのデータの書き込みが繰り返されると、前に使用していたページと現在使用中のページにまたがってデータが存在する状況が発生する。そのため、本実施の形態においては、現在使用中のページの書き換え率が６０％を越えた時点で（図５のステップＳ１０３）、前に使用していたページに残っているデータを現在使用中のページに移動させる処理を行う（図５のステップＳ１０４）。現在使用中のページに移動されていないデータがまだ前に使用していたページに残っているか否かの判断は、アドレス変換テーブル１３２を参照することによって行うことができる。
【００５２】
例えば、アドレス変換テーブル１３２の中に、前に使用していたページ（ページ１）の領域の物理アドレス「４」，「１０４」に対応づけられた論理アドレスがある場合、コントローラ１１は、その物理アドレス「４」，「１０４」の位置に書き込まれているデータを現在使用中のページ（ページ２）に移動させる。そして、アドレス変換テーブル１３２において、移動させたデータの論理アドレス「３２」，「７４」を移動先の物理アドレス「Ｎ＋１０１」，「Ｎ＋１０２」にそれぞれ対応付ける。これにより、前に使用していたページ（ページ１）に残っているデータは、全て現在使用中のページ（ページ２）に移動される。
【００５３】
２．４  ホストの警告動作
前述のように、記録媒体１は、記録媒体１の書き換え率が高くなった場合に、記録媒体１の書き換え率が高くなったことを示す警告をホスト２に通知する（図５のステップＳ１１２）。ホスト２は、記録媒体１からその警告を受信すると、警告動作を行う。
【００５４】
図８は、ホスト２のＣＰＵ２２による警告動作のフローチャートである。ホスト２のＣＰＵ２２は、例えば、ユーザからの指示に基づいてコマンドを記録媒体１に送信する（Ｓ２０１）。コマンドは、データの書き込み、データの読み出し、データの消去、又はその他の処理を記録媒体１に指示するための命令である。
【００５５】
ＣＰＵ２２は、記録媒体１からコマンドに対する応答を受信する（Ｓ２０２）。記録媒体から送信される応答は、最終ページの書き換え率が高くなったことを示す警告、データの書き込み完了を示す通知、データの書き込み不可を示す通知、又は読み出されたデータなどを含む。
【００５６】
ＣＰＵ２２は、受信した応答が最終ページの書き換え率が高くなったことを示す警告であるか否かを判断する（Ｓ２０３）。すなわち、ＣＰＵ２２は、警告を受信したか否かを判断する。ＣＰＵ２２は、記録媒体１から警告を受信した場合は、ユーザにその警告を通知する。例えば、ＣＰＵ２２は、記録媒体１の記憶領域の書き換え率と、新たな記録媒体１への交換を勧めるメッセージとを表示部２７に表示させる。これにより、ユーザは、記録媒体１の書き換え率が高くなっていることを認識でき、記録媒体１が使用できなくなる前に、例えば、読み出し及び書き込みができなくなる前に、新たな記録媒体１に交換することが可能になる。
【００５７】
３．効果等
本開示の記録媒体１は、データを書き込むための記憶領域を有する不揮発性メモリ１２と、記憶領域に対するデータの書き込みを制御するコントローラ１１と、を有する。コントローラ１１は、記憶領域を複数のページ（区域）に分割し、複数のページの中から１つのページを選択し、選択したページのみをデータ記録領域として使用し、選択されたページの書き換え率が第１の所定値（例えば、９５％）に達すると、データ記録領域として使用する領域を複数のページにおいて未だ使用していない別のページに切り替える。書き換え率は、許容可能な書き込み回数に対する実際の書き込み回数の比率である。これにより、ページが使用できなくなる直前までそのページを使用し続けることができるため、メモリ１２全体の使用回数が大幅に増加する。また、記憶領域を複数のページに分割することによって、書き込み回数に基づいた書き換え率の算出の精度が向上する。
【００５８】
メモリ１２は、記憶領域が複数のページに分割されていることを示す分割フラグ１３１ａを有する。これにより、メモリ１２の書き換え可能な領域（データ記録領域）の容量が、実際に搭載されているメモリ１２のサイズよりも大幅に小さくても、ホスト２は、分割フラグ１３１ａを参照することによって、その記録媒体１が正常であると認識することができる。よって、データの読み書きを正常に行うことができる。
【００５９】
メモリ１２は、使用中のページを示す使用ページ情報１３１ｂを有する。また、メモリ１２は、各ページの書き換え率を示す書き換え率情報１３１ｃを有する。これにより、コントローラ１１自身がメモリ１２の使用状況を把握すると共に、記録媒体１からホスト２にメモリ１２の使用状況を知らせることが可能になる。
【００６０】
コントローラ１１は、現在使用中のページの書き換え率が所定値（例えば、６０％）に達したときに、前に使用していたページに書き込まれているデータの中で、現在使用中のページに移動していないデータを、現在使用中のページに移動する。これにより、複数のページにデータがまたがり続けることを防ぐことができ、データの読み書きの速度が速くなる。例えば、複数ページに跨がったデータの記録を放置した場合、４ページ全てに跨がってデータが記録される可能性が生じる。その場合、記録領域の全ての領域のチェックが必要となる機会が、跨る分だけ発生する可能性があり、そのため、総じて、読み書きの性能が低下し得る。この問題を考慮し、本実施の形態では、新たなページへの書き込みが一旦開始された後、書き換え率が所定値（例えば、６０％）に達した時点で、データを新たなページへ移動している。これにより、新たなページへの書き込みが一旦開始されると、最初のうちのある程度の期間は、ページを跨がった移動を許容するとしても、ある時点（例えば、書き換え率が６０％に達した時点）からは、できるだけ早くスムーズに新たなページのみでアクセスを完了できるようになる。
【００６１】
コントローラ１１は、複数のページの全てをデータ記録領域として順に選択した後、最後に選択したページの書き換え率が所定値（例えば、８０％）に達したときに、ホスト２に警告を通知する。これにより、ホスト２は、記録媒体１が使用できなくなる前に、ユーザに警告を通知することが可能になる。
【００６２】
（他の実施形態）
以上のように、本出願において開示する技術の例示として、実施形態１を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施形態にも適用可能である。また、上記実施形態１で説明した各構成要素を組み合わせて、新たな実施形態とすることも可能である。そこで、以下、他の実施形態を例示する。
【００６３】
上記の実施の形態において、ステップＳ１０３、Ｓ１０５、Ｓ１１１において判断基準となる所定値やしきい値は上記の値（６０％、９５％、８０％）に限定されるものではなく、適宜設定できる。すなわち、上記の所定値やしきい値は、ベースとなるＮＡＮＤの性能、全体の容量、使い方（ユースケース）により適宜設定しても良い。また、上記の所定値やしきい値は、必ずしも固定値である必要もなく、記録媒体の状態に応じて動的に変化させてもよい。また、上記の所定値やしきい値はホスト２により設定されてもよい。
【００６４】
上記実施の形態においては、図５のステップＳ１０２〜１０４において、書き込みコマンドを受信し且つ使用ページの書き換え率が６０％を超えていたときに、前に使用していたページの残存データを現在使用中のページに移動させる場合について説明した。しかし、書き込みコマンド以外のコマンド（例えば、読み出しコマンド）を受信し且つ使用ページの書き換え率が６０％を超えていたときに、前に使用していたページの残存データを現在使用中のページに移動させてもよい。
【００６５】
上記実施の形態においては、図５のステップＳ１０５〜１０７において、書き込みコマンドを受信し且つ使用ページの書き換え率が９５％を超えていたときに、使用するページを次ページに変更した。しかし、読み出しコマンドを受信し且つ使用ページの書き換え率が９５％を超えていたときに、使用するページを次ページに変更してもよい。この場合、読み出したデータを次ページに書き換える。
【００６６】
上記実施の形態においては、書き換え率情報１３１ｃは各ページの書き換え率を示し、その書き換え率に基づいて図５に示すデータの書き込み処理を行う場合について説明した。しかし、書き換え率情報１３１ｃは、各ページの書き換え率の代わりに、各ページの現時点の書き込み回数（カウンタの値）を示すものであってもよく、書き込み回数（カウンタの値）に基づいて図５に示すデータの書き込み処理を行ってもよい。
【００６７】
上記実施の形態においては、記憶領域が４つのページに分割されている場合を例にして説明したが、記憶領域の分割数をユーザが選択できるようにしてもよい。例えば、記録媒体１は可能な分割数の情報を有する。そして、記録媒体１が初めて使用されるときに、記録媒体１は、ホスト２にその可能な分割数の情報を送信し、ユーザがホスト２を介して指定した分割数に基づいて、コントローラ１１が記憶領域を分割してもよい。具体的には、記憶領域が１００ＴＢの場合、「１０ＴＢ×１０ページ」、「２５ＴＢ×４ページ」、「５０ＴＢ×２ページ」、「１００ＴＢ×１ページ（分割しない）」を選択できるようにしてもよい。
【００６８】
上記実施の形態においては、管理情報１３１は、記録媒体１のみに格納されている場合について説明したが、記録媒体１とホスト２の両方が管理情報１３１を有してもよい。この場合、例えば、図５のステップＳ１０１の初期処理において、ホスト２は記録媒体１から管理情報１３１を読み出してもよい。ホスト２は、読み出した管理情報１３１をバッファ２６に格納してもよいし、別の内蔵する記憶部（例えば、ハードディスク、フラッシュメモリ）に格納してもよい。さらに、図８のステップＳ２０２のコマンドに対する応答に、更新された管理情報１３１が含まれていてもよい。そして、ホスト２のＣＰＵ２２が、管理情報１３１を参照して、最終ページの書き換え率が８０％を超えているか否かを判断して、ユーザに警告を通知してもよい。
【００６９】
上記実施の形態においては、記録媒体１のコントローラ１１は、ページ１からページ４まで、順番に、各ページを使用した。しかし、ページの使用順は任意である。コントローラ１１は、複数ページの中から、データ記録領域として使用するページを一つ選択し、選択したページの書き換え率が１００％に近づいた（例えば、９５％を越えた）ときに、別の未使用のページを使用すればよい。
【００７０】
上記実施の形態においては、情報格納部１３はメモリ１２と別に設けられたが、情報格納部１３とメモリ１２は一体化された不揮発性メモリであってもよい。この場合、記録媒体１は、作業領域としてＲＡＭ（図示せず）を有し、初期化処理（図５のＳ１０１）において、情報格納部１３から管理情報１３１及びアドレス変換テーブル１３２を読み出し、ＲＡＭにロードする。以後、図５に示すステップ（Ｓ１０２〜Ｓ１１４）を実行する際には、ＲＡＭ上にロードされた管理情報１３１を使用（参照、更新）してもよい。
【００７１】
本開示の記録媒体及びホストは、ハードウェア資源、例えば、プロセッサ、メモリ、及びプログラムとの協働などによって、実現可能である。
【００７２】
以上のように、本開示における技術の例示として、実施形態を説明した。そのために、添付図面および詳細な説明を提供した。したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【００７３】
また、上述の実施形態は、本開示における技術を例示するためのものであるから、請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【００７４】
本開示の記録媒体によれば、不揮発性メモリの使用回数を増大させることができるため、大容量の不揮発性メモリを備えたメモリカードにおいて有用である。
【符号の説明】
【００７５】
１        記録媒体
１１      コントローラ
１２      メモリ
１３      情報格納部
１４      コネクタ
２１      Ｒｏｏｔ  Ｃｏｍｐｌｅｘ
２２      ＣＰＵ
２３      ＰＣＩｅスイッチ
２４      コネクタ
２５      データ転送部
２６      バッファ
２７      表示部
２８      バス
１３１    管理情報
１３１ａ  分割フラグ
１３１ｂ  使用ページ情報
１３１ｃ  書き換え率情報
１３２    アドレス変換テーブル
【図１】
2018186453.tif 000003
【図２】
2018186453.tif 000004
【図３】
2018186453.tif 000005
【図４】
2018186453.tif 000006
【図５】
2018186453.tif 000007
【図６】
2018186453.tif 000008
【図７】
2018186453.tif 000009
【図８】
2018186453.tif 000010
【国際調査報告】
2018186453.tif 000011
2018186453.tif 000012
2018186453.tif 000013