(57)【要約】      （修正有）【課題】大容量メモリ装置においてオーバーヘッドを減らすことができるメモリシステムを提供する。【解決手段】メモリシステム１０は、ホスト１００とメモリ装置２００を備える。ホストは、メモリアクセスパターンに対するヒストリ情報をプロファイルしてメモリ情報を生成してメモリ装置に伝送する。メモリ装置は、メモリ情報に対応して次のページでアクセスされるデータのパターンを予測し、予測されたデータのパターンに応じて一部のサブセットデータを生成してホストに伝送する。【選択図】図１
2020087421.tif 000002
【特許請求の範囲】
【請求項１】
メモリアクセスパターンに対するヒストリ情報をプロファイルしてメモリ情報を生成するホストと、
前記メモリ情報に対応して次のページでアクセスされるデータのパターンを予測し、予測された前記データのパターンに応じて一部のサブセットデータを生成して前記ホストに伝送するメモリ装置とを備えるメモリシステム。
【請求項２】
前記ホストは、前記メモリアクセスパターンをプロファイルして前記メモリ情報を生成するプロファイル部と、前記メモリ装置にページの一部のデータを要請するための要請コマンドを生成するホスト制御部とを備える請求項１に記載のメモリシステム。
【請求項３】
前記メモリ装置は、前記ホストから前記要請コマンドを受信すると、前記サブセットデータを前記ホストへ伝送する請求項２に記載のメモリシステム。
【請求項４】
前記ホストは、前記メモリアクセスパターンに対するヒストリ情報を保存するアクセスパターン保存部をさらに備える請求項２に記載のメモリシステム。
【請求項５】
前記プロファイル部は、前記メモリ装置のメモリ領域に対するカーネルレベル及びアプリケーションレベルのうち少なくとも一つの情報に対応して前記メモリアクセスパターンをプロファイルする請求項２に記載のメモリシステム。
【請求項６】
前記プロファイル部は、インタページアクセスパターン及びイントラページアクセスパターンのうち少なくとも一つを分析して前記メモリアクセスパターンを抽出する請求項２に記載のメモリシステム。
【請求項７】
前記ホストは、前記メモリ装置に送受信されるデータと前記サブセットデータに対応してノットプレゼントされたキャッシュラインのデータを検出するデータ検出部と、前記キャッシュラインに前記データ及び前記サブセットデータを保存する保存部とをさらに備える請求項２に記載のメモリシステム。
【請求項８】
前記データ検出部は、ノットプレゼント検出信号に対応してエラー訂正コードをエンコードし、無効エラー訂正コードを生成するエラー訂正コードエンコーダと、前記保存部に保存された前記エラー訂正コードをリードしてデコードするエラー訂正コードデコーダとを備える請求項７に記載のメモリシステム。
【請求項９】
前記保存部は、前記キャッシュラインに前記データと前記無効エラー訂正コードとを保存する請求項７に記載のメモリシステム。
【請求項１０】
前記データ検出部は、前記エラー訂正コードと前記エラー訂正コードデコーダのビットとを比較してプレゼント領域を判断する請求項７に記載のメモリシステム。
【請求項１１】
前記メモリ装置は、前記ホストから印加されたコマンド信号を分析して処理する制御部と、前記メモリ情報に対応して前記データパターンを予測し、ページ内で前記サブセットデータをパケット形態で生成するデータ予測部と、前記制御部の制御によってライト動作またはリード動作時、前記データを保存またはリードするメモリコアを備える請求項１に記載のメモリシステム。
【請求項１２】
前記データ予測部は、パターンラーニングを通じて前記データパターンを予測する請求項１１に記載のメモリシステム。
【請求項１３】
メモリアクセスパターンに対するヒストリ情報をプロファイルしてメモリ情報を生成するメモリプロファイル部と、
前記メモリ情報に対応して次のページでアクセスされるデータのパターンを予測し、予測された前記データのパターンに応じて一部のサブセットデータを生成するデータ予測部とを備えるメモリシステム。
【請求項１４】
前記メモリプロファイル部及び前記データ予測部を有するメモリ装置を備える請求項１３に記載のメモリシステム。
【請求項１５】
前記メモリ装置は、前記メモリアクセスパターンに対するヒストリ情報を保存するメモリアクセスパターン保存部と、ホストから印加されたコマンド信号を分析して処理する制御部と、該制御部の制御によってライト動作またはリード動作時、前記データを保存またはリードするメモリコアとをさらに備える請求項１３に記載のメモリシステム。
【請求項１６】
前記メモリアクセスパターン保存部は、仮想アドレスのストライドに対応して前記ヒストリ情報を保存する請求項１５に記載のメモリシステム。
【請求項１７】
前記メモリアクセスパターン保存部は、メモリ領域情報及びアプリケーション情報のうち少なくとも一つ以上の情報を保存する請求項１５に記載のメモリシステム。
【請求項１８】
前記制御部は、キャッシュライン単位でデータ要請を受信する請求項１７に記載のメモリシステム。
【請求項１９】
前記プロファイル部は、前記メモリ装置のメモリ領域に対するカーネルレベル及びアプリケーションレベルのうち少なくとも一つの情報に対応して前記メモリアクセスパターンをプロファイルする請求項１３に記載のメモリシステム。
【請求項２０】
前記データ予測部は、パターンラーニングを通じて前記データパターンを予測する請求項１３に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリシステムに関し、大容量メモリ装置においてオーバーヘッドを減らすための技術に関する。
【背景技術】
【０００２】
近年、スマートホン、タブレットＰＣのような移動通信端末機の普及が大衆化している。そして、ソーシャルネットワークサービス（ＳＮＳ、Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ）、モノのネットワーク（Ｍ２Ｍ、Ｍａｃｈｉｎｅ  ｔｏ  Ｍａｃｈｉｎｅ）、センサネットワーク（Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋ）などの使用が増加している。これにより、データの量、生成速度及びその多様性が幾何級数的に増加している。ビッグデータの処理のためにはメモリの速度も重要であるが、保存容量の大きいメモリ装置及びメモリモジュールが求められる。
【０００３】
そこで、メモリシステムはメモリの物理的限界を克服しながらも、データの保存容量を増やすために複数の統合されたメモリを具備する。メモリシステムは複数のメモリがデータラインを共有してコントローラに連結される。これにより、メモリとホストと間のデータ伝送時、オーバーヘッドによりデータの移動時間が増加することになる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、ホストから要請されたデータを分析及び予測してページ中の一部のデータのみを伝達することにより、オーバーヘッドを減らすことができるメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
本発明の一実施形態に係るメモリシステムは、メモリアクセスパターンに対するヒストリ情報をプロファイルしてメモリ情報を生成するホストと、前記メモリ情報に対応して次のページでアクセスされるデータのパターンを予測し、予測された前記データのパターンに応じて一部のサブセットデータを生成して前記ホストに伝送するメモリ装置とを備える。
【０００６】
本発明の他の実施形態に係るメモリシステムは、メモリアクセスパターンに対するヒストリ情報をプロファイルしてメモリ情報を生成するメモリプロファイル部と、前記メモリ情報に対応して次のページでアクセスされるデータのパターンを予測し、予測された前記データのパターンに応じて一部のサブセットデータを生成するデータ予測部とを備える。
【発明の効果】
【０００７】
本発明は、オーバーヘッドを減らしてデータの伝送速度を向上させることができる効果を奏する。
【０００８】
また、本発明の実施例は例示のためのものであって、本発明が属する技術分野において通常の知識を有する者であれば、添付された特許請求の範囲の技術的思想と範囲を通じて多様な修正、変更、代替及び付加が可能であり、かかる修正変更などは、以下の特許請求の範囲に属するものと見なすべきである。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るメモリシステムの構成図である。
【図２】図１のホストに対する詳細構成図である。
【図３】図１のメモリ装置に対する詳細構成図である。
【図４】本発明の他の実施形態に係るメモリシステムの構成図である。
【図５】図４のメモリ装置に対する構成図である。
【図６】図２のホストにおいてプロファイル過程を説明するための図である。
【図７】図３のメモリ装置においてデータ予測過程を説明するための図である。
【図８】図２のデータ検出部に対する動作を説明するための図である。
【図９】図２のデータ検出部に対する動作を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、添付した図面を参照して本発明の一実施形態について詳細に説明する。
本発明の一実施形態を説明するに当たって、ある部分が他の部分と「連結」されているとするときは、これは「直接的に連結」されている場合のみならず、その中間に他の素子を挟んで「電気的に連結」されている場合も含む。また、ある部分がある構成要素を「包含」または「具備」するとするとき、これは特別に反対される記載がない限り、他の構成要素を除外するものではなく、他の構成要素をさらに含むか、具備することができることを意味する。また、明細書全体の記載において一部の構成要素を単数形に記載したからといって、本発明がそれに限られるものではなく、構成要素が複数個でもよいことが理解されるべきである。
【００１１】
図１は、本発明の一実施形態に係るメモリシステムの構成図である。
【００１２】
本発明の一実施形態に係るメモリシステム１０は、ホスト１００と、メモリ装置２００とを備える。
【００１３】
ホスト１００は、メモリ装置２００を制御するための制御信号を生成する。
本実施形態において、ホスト１００は、メモリ情報ＩＮＦＯを生成してメモリ装置２００に伝送することができる。ここで、ホスト１００で生成されるメモリ情報ＩＮＦＯは、メモリアクセスパターンに対するヒストリ情報を含むことができる。
そして、ホスト１００で生成されるメモリ情報ＩＮＦＯは、メモリ領域情報を含むことができる。また、ホスト１００は、メモリ装置２００とインタフェーシングを行うためのホストインタフェース（図示せず）をさらに備えていてもよい。
【００１４】
ホスト１００は、コマンド信号ＣＭＤを生成してメモリ装置２００へ送信する。ここで、コマンド信号ＣＭＤは、メモリ装置２００にデータをライトするためのライトコマンドと、メモリ装置２００に保存されたデータをリードするためのリードコマンドなどを含むことができる。本実施形態において、ホスト１００は、メモリ装置２００のページ（後述する）に保存されたデータのうち実際に必要とする一部のデータを要請するための要請コマンドを含むことができる。
【００１５】
ホスト１００は、メモリ装置２００とデータＤＡＴＡを送受信することができる。すなわち、ホスト１００は、ライト動作時、メモリ装置２００にデータＤＡＴＡを伝送し、リード動作時、メモリ装置２００でリードされたデータＤＡＴＡを受信することができる。本実施形態において、ホスト１００は、メモリ装置２００のページ（後述する）に保存されたデータのうち要請された一部のサブセットデータＳＤＡＴＡを受信することができる。
【００１６】
また、メモリ装置２００は、ホスト１００から印加されるコマンド信号ＣＭＤに応答してデータＤＡＴＡをサービスすることができる。例えば、メモリ装置２００は、ホスト１００から提供されたデータを保存したり、保存されたデータをリードしてリードデータをホスト１００へ提供したりすることができる。
【００１７】
メモリ装置２００は、ホスト１００からメモリ情報ＩＮＦＯが入力されて次のページでアクセスされるデータパターンを予測し、ホスト１００で要請されたサブセットデータＳＤＡＴＡを生成する。そして、メモリ装置２００は、ホスト１００からデータをリードするためのコマンド信号ＣＭＤが受信されると、準備されたサブセットデータＳＤＡＴＡをホスト１００に伝送する。
【００１８】
本実施形態に係るメモリ装置２００は、同一の種類または互いに異なる種類の多数のメモリが統合された形態を有するプールメモリシステムである。メモリ装置２００は、ホスト１００の要請に応じて多数のメモリ装置２００のうち選択されたある一つのメモリ装置がアクセスされることができる。
【００１９】
また、本実施形態においてメモリ装置２００は、揮発性メモリを備えていてもよい。しかし、本発明は、これに限定されるものではなく、メモリ装置２００がＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、ＰＲＡＭ（Ｐｈａｓｅ−ｃｈａｎｇｅ  ＲＡＭ）、ＦＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）などの不揮発性メモリ装置のうち一つで構成されるか、これらの組み合わせで構成されてもよい。
【００２０】
以上のように、本実施形態は、メモリアクセスパターンに対するヒストリ情報に対応して次にアクセスされるページのデータパターンを予測して一部のサブセットデータＳＤＡＴＡを生成する。そして、ホスト１００からの要請時、メモリ装置２００がページ全体のデータを伝達するものではなく、ページの一部のサブセットデータＳＤＡＴＡをホスト１００に伝達する。これにより、本実施形態は、ページ全体を伝達することに対比してデータの移動時間及びオーバーヘッドを減らすことができるようにする。
【００２１】
図２は、図１のホスト１００に対する詳細構成図である。
【００２２】
ホスト１００は、アクセスパターン保存部１１０、プロファイル部１２０、ホスト制御部１３０、データ検出部１４０及び保存部１５０を備える。
【００２３】
ここで、アクセスパターン保存部１１０は、ホスト１００がメモリ装置２００にアクセスするメモリアクセスパターンに対するヒストリを保存する。
【００２４】
そして、プロファイル部１２０は、メモリ装置２００のメモリ領域に対するカーネルレベルまたはアプリケーションレベル情報を有しているため、この情報に基づき、メモリアクセスパターンをプロファイルすることができる。
【００２５】
また、プロファイル部１２０は、ホスト１００がメモリ装置２００にどのようなパターンでアクセスされるかをプロファイルする。そして、プロファイル部１２０は、プロファイルされたメモリアクセスパターン情報をメモリ情報ＩＮＦＯとして生成してメモリ装置２００に伝送する。そして、プロファイル部１２０は、メモリ装置２００でアクセスされるメモリ領域に対する情報をメモリ情報ＩＮＦＯとして生成してメモリ装置２００に伝送する。
【００２６】
ここで、プロファイル部１２０は、インタページアクセスパターンまたはイントラページアクセスパターンを分析してメモリアクセスパターンを抽出することができる。
【００２７】
例えば、プロファイル部１２０は、各ページに対してアクセス保護を設定した後に発生する例外情報を収集してインタページアクセスパターンを抽出することができる。そして、プロファイル部１２０は、インタページアクセスパターンの抽出時、特定の期間の間、例外情報をサンプリングして進行することができる。また、プロファイル部１２０は、全てのページに対して例外情報を発生させ、イントラページアクセスパターンを抽出することができる。プロファイル部１２０から抽出されたページアクセスパターンはアクセスパターン保存部１１０に保存されることができる。
【００２８】
ホスト制御部１３０は、メモリ装置２００のページに保存されたデータのうち実際にアクセスされる一部のサブセットデータＳＤＡＴＡを要請するためのコマンド信号ＣＭＤを生成する。すなわち、ホスト制御部１３０は、ホスト１００のアプリケーションが要請するページがメモリ装置２００に存在する場合、ページ要請に対するコマンド信号ＣＭＤを生成してメモリ装置２００に伝達する。
【００２９】
また、データ検出部１４０は、メモリ装置２００のページに保存されたデータのうち要請された一部のサブセットデータＳＤＡＴＡを受信してノットプレゼントされたキャッシュラインのデータを検出する。ここで、データ検出部１４０は、受信されたサブセットデータＳＤＡＴＡがノットプレゼントされたデータ領域にアクセスされた場合、この情報をホスト制御部１３０に伝達する。
【００３０】
保存部１５０は、データ検出部１４０に送受信されるデータＤＡＴＡを保存する。そして、保存部１５０は、データ検出部１４０を介して印加されるサブセットデータＳＤＡＴＡを保存する。
【００３１】
図３は、図１に記載のメモリ装置２００の詳細構成図である。
【００３２】
メモリ装置２００はインタフェース２１０、制御部２２０、データ予測部２３０及びメモリコア２４０を備える。
【００３３】
ここで、インタフェース２１０は、ホスト１００とメモリ装置２００との間のインタフェーシングを行う。例えば、インタフェース２１０は、ホスト１００から印加されたメモリ情報ＩＮＦＯとコマンド信号ＣＭＤを制御部２２０及びデータ予測部２３０に提供する。また、インタフェース２１０は、制御部２２０及びデータ予測部２３０から印加されたデータＤＡＴＡ及びサブセットデータＳＤＡＴＡをホスト１００に提供するようにしてもよい。
【００３４】
制御部２２０は、ホスト１００から入力されたコマンド信号ＣＭＤを分析し、処理することができる。すなわち、制御部２２０は、ホスト１００からコマンド信号ＣＭＤが印加されると、メモリコア２４０を駆動するためのファームウェアまたはソフトウェアによってバックグラウンド機能ブロックの動作を制御することができる。
【００３５】
そして、データ予測部２３０は、インタフェース２１０を介してメモリ情報ＩＮＦＯが受信されると、プロファイルされたメモリアクセスパターン情報に対応して次のページにアクセスされるデータパターンを予測し、ページ内で一部のサブセットデータＳＤＡＴＡを生成する。
データ予測部２３０は、プロファイルされたメモリアクセスパターン情報のストライドを考慮して必要なデータを抽出し、パケット形態のサブセットデータＳＤＡＴＡを生成することができる。ここで、ストライドは、メモリアドレスの間の距離を意味する。他の実施形態において、ストライドは、予測されたストライドまたは次に要請されるメモリアドレスに対する推測を意味し、プリフェッチに有用することができる。
【００３６】
データ予測部２３０は、パターンラーニングを通じて次のページでアクセスされるデータパターンを予測することができる。ここで、パターンラーニングは、アドレスアクセスヒストリがあるとき、これをラーニングしてパターンを探す方式である。例えば、データ予測部２３０は、パターントレーニング時、レジスタ（図示せず）を介してストライドを学習するか、マシンラーニングを通じてストライドを学習する方法を適用して次のページでアクセスされるデータパターンを予測することができる。
【００３７】
万一、メモリアクセスパターンが明確でない場合、データ予測部２３０は、フォルスネガティブを最小化する方式にサブセットデータＳＤＡＴＡを準備することができる。すなわち、データ予測部２３０はメモリアクセスパターンが明確でない場合、ページにデータを含ませてサブセットデータＳＤＡＴＡを生成する。また、データ予測部２３０は、ページ内でアクセス領域が密集した場合、ページ全体のデータをホスト１００に伝達することができる。そして、データ予測部２３０は、インタフェース２１０を介してコマンド信号ＣＭＤが受信されると、準備されたサブセットデータＳＤＡＴＡをインタフェース２１０を介してホスト１００に伝送する。
【００３８】
メモリコア２４０は、ライト動作時、制御部２２０の制御によってデータをバンク（図示せず）に保存する。そして、メモリコア２４０は、リード動作時、制御部２２０の制御によってバンク（図示せず）に保存されたデータをリードする。
【００３９】
図４は、本発明の他の実施形態に係るメモリシステムである。
【００４０】
本実施形態に係るメモリシステム１０Ｂは、図４に示されるように、ホスト１００＿１と、メモリ装置２００＿１とを備える。
【００４１】
図４の本実施形態では、メモリアクセスパターンに対するプロファイル動作をホスト１００＿１で処理するものではなく、メモリ装置２００＿１内で処理する。これにより、図３に示されるホスト１００と対比して、図４の本実施形態のホスト１００＿１は、メモリ情報ＩＮＦＯを生成しない点で相違している。
【００４２】
その他に、残りのホスト１００＿１及びメモリ装置２００＿１の構成及び動作は、図３と同一であるため、その詳細な説明は省略する。そして、メモリ装置２００＿１内で処理されるプロファイル動作に関する説明については後述する。
【００４３】
図５は、図４に記載のメモリ装置２００＿１の詳細構成図である。
【００４４】
本実施形態は、図５に示されるように、図３と対比して、メモリ装置２００＿１がメモリアクセスパターン保存部２５０と、メモリプロファイル部２６０とをさらに備えている点で相違している。
【００４５】
図２においては、ホスト１００がアクセスパターン保存部１１０とプロファイル部１２０とを具備してメモリアクセスパターンに対するプロファイル動作をホスト１００の内部で行うことを一例として説明した。しかし、図５においては、ホスト１００でメモリアクセスパターンに対するプロファイルを行うものではなく、メモリ装置２００＿１の内部でメモリアクセスパターンに対するプロファイルを行うことができる。
【００４６】
但し、メモリ装置２００＿１の内部でメモリアクセスパターンに対するプロファイルを行う場合、制御部２２０はホスト１００＿１からページ単位ではなく、キャッシュライン単位でデータ要請を受信する。
【００４７】
そして、メモリアクセスパターン保存部２５０は、仮想アドレスにおけるストライドに対応してメモリアクセスパターンを保存することができる。すなわち、ホスト１００で使用されるアプリケーションは仮想アドレスにより行われる。これにより、メモリアクセスパターン保存部２５０は、ホスト１００から印加される仮想アドレスに対応してメモリアクセスパターンを保存する。
【００４８】
このような場合、メモリアクセスパターンに対するストライドと他のストライドとが混在される恐れがある。しかし、メモリアクセスパターン保存部２５０にホスト１００から印加されるメモリ領域情報、アプリケーション情報などをともに記録してメモリアクセスパターンに対するストライドを他のストライドと区別することができる。ここで、メモリ領域情報はプロセスに割り当てられた全てのメモリがどのように区分され、それぞれにどのような用途に使用（ｔｅｘｔ、ｄａｔａ、ｈｅａｐ、ｓｔａｃｋ）されるかを示し、アプリケーション情報はプロセス間の領域を区分するのに参考することができる。
【００４９】
図５に示される本実施形態において、前述した部分以外の残りの構成及び動作は、図２のメモリ装置２００と同一であるため、その詳細な説明は省略する。
【００５０】
図６は、図２のホスト１００においてプロファイル過程を説明するための図である。
図６の動作は、図２に示される一実施形態を参考にして説明する。
【００５１】
ホスト１００のプロファイル部１２０は、アクセスパターン保存部１１０に保存された情報をリードする。そして、プロファイル部１２０は、以前のメモリアクセスパターンのヒストリをプロファイルしてメモリ情報ＩＮＦＯを生成する。
【００５２】
例えば、プロファイル部１２０は、ページ番号１００でアクセスされたデータのパターン情報、ページ番号１０４でアクセスされたデータのパターン情報及びページ番号１０８でアクセスされたデータのパターン情報をプロファイルする。以前のメモリアクセスパターンのヒストリを見ると、ホスト１００で必要とするデータはページ全体のデータではなく、ページ中の一部のデータであることが分かる。
【００５３】
万一、ページ番号１００、ページ番号１０４及びページ番号１０８でアクセスされたデータの位置が全て一致する場合、該当するアクセスパターンをメモリ情報ＩＮＦＯとして生成してメモリ装置２００に伝送することができる。
【００５４】
図７は、図３のメモリ装置２００においてデータ予測過程を説明するための図である。
図７の動作は、図３に示される一実施形態を参考にして説明する。
【００５５】
メモリ装置２００のデータ予測部２３０は、プロファイル部１２０から印加されるメモリ情報ＩＮＦＯに対応して次のページでアクセスされるデータパターンを予測する。
【００５６】
例えば、プロファイル部１００で受信されたメモリ情報ＩＮＦＯは、図６に示されるように、ページ番号１００、ページ番号１０４及びページ番号１０８でメモリアクセスパターンの位置が全て一致するという情報を含んでいる。ホスト１００のアプリケーションは、メモリ装置２００を規則的なパターンでアクセスすることを仮定する。そこで、データ予測部２３０はプロファイル部１２０でプロファイルされたページ番号１００、ページ番号１０４及びページ番号１０８の次にページ番号１１２内でも同一の位置のデータＤＡＴＡがアクセスされるということを予測する。
【００５７】
そして、データ予測部２３０は、予測されたページのデータＤＡＴＡに対応して実際にホスト１００が必要とするサブセットデータＳＤＡＴＡを生成する。データ予測部２３０で生成されたサブセットデータＳＤＡＴＡはインタフェース２１０を介してホスト１００に伝送されることができる。ここで、データ予測部２３０は、一つのキャッシュラインに対するデータの要請時、サブセットデータＳＤＡＴＡの全体パケットをホスト１００へ伝送する。
【００５８】
また、データ予測部２３０は、ホスト１００からデータ要請によるコマンド信号ＣＭＤが受信される速度を考慮してサブセットデータＳＤＡＴＡの量を調節することもできる。例えば、データ予測部２３０は、ホスト１００からコマンド信号ＣＭＤが受信される速度が遅い場合、サブセットデータＳＤＡＴＡの量を減らすことができる。
【００５９】
一方、ホスト１００は、メモリ装置２００のページにおいてサブセットデータＳＤＡＴＡがどこに位置したかに対する情報を知ることができる。すなわち、メモリ装置２００の制御部２２０は、サブセットデータＳＤＡＴＡをホスト１００側へ伝送する場合、サブセットデータＳＤＡＴＡのフォーマットをともに伝達する。
【００６０】
例えば、制御部２２０は、それぞれのサブセットデータＳＤＡＴＡに対する距離情報をフォーマットに含ませ、ホスト１００に伝達する。サブセットデータＳＤＡＴＡに対する距離情報のフォーマットは、各サブセットデータＳＤＡＴＡの間の距離がどれほど離れているかに対する情報を示すことができる。すなわち、ホスト１００に伝達されるフォーマットは「サブセットデータＳＤＡＴＡの値」と、「以前のサブセットデータＳＤＡＴＡとの距離情報」とを含むことができる。
【００６１】
一例として、サブセットデータＳＤＡＴＡが６つにセットされた場合を仮定する。すると、サブセットデータＳＤＡＴＡのフォーマットは｛（９、ＳＤＡＴＡ１）、（１１、ＳＤＡＴＡ２）、（１７、ＳＤＡＴＡ３）、（６、ＳＤＡＴＡ４）、（１０、ＳＤＡＴＡ５）、（０、ＳＤＡＴＡ６）｝の形態に設定されることができる。上記のフォーマットにおいて、括弧の前の数字（９、１１、１７、６、１０、０）は、「以前のサブセットデータＳＤＡＴＡとの距離」を示し、括弧の後の文字（ＳＤＡＴＡ１〜ＳＤＡＴＡ６）は「サブセットデータＳＤＡＴＡの値」を示す。
【００６２】
制御部２２０は、上記のようなデータフォーマットをホスト１００側へ伝達する。これにより、ホスト１００はメモリ装置２００のページ内でサブセットデータＳＤＡＴＡの位置情報を知ることができる。
【００６３】
図７示される本実施形態では、サブセットデータＳＤＡＴＡのフォーマットが上記のように設定されるが、これは一例を示しているだけであり、サブセットデータのフォーマットはこれに限定されるものではない。
【００６４】
図８及び図９は、図２のデータ検出部１４０に対する動作を説明するための図である。
【００６５】
データ検出部１４０は、エラー訂正コード（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ；以下、ＥＣＣとする）エンコーダ１４１と、ＥＣＣデコーダ１４２とを備える。
そして、保存部１５０はキャッシュライン１５１にデータＤＡＴＡと、ＥＣＣエンコーダ１４１から提供される無効ＥＣＣを保存する。
【００６６】
まず、データ検出部１４０が保存部１５０にサブセットデータＳＤＡＴＡを保存する過程を説明すると、次の通りである。
【００６７】
ホスト１００は、メモリ装置２００から伝達されたデータをライトするために空ページを保存部１５０に割り当てる。データ検出部１４０は、保存部１５０の該当するページの全てのデータフィールドに対して無効データをセットする。
【００６８】
そして、データ検出部１４０は、制御部２２０を介してメモリ装置２００からサブセットデータＳＤＡＴＡのフォーマットを受信する。データ検出部１４０は、伝達されたデータフォーマットを分析して、「サブセットデータＳＤＡＴＡの値」と「以前のサブセットデータＳＤＡＴＡとの距離」とを区分する。そして、データ検出部１４０は、各サブセットデータＳＤＡＴＡの距離情報を参考として、保存部１５０の割り当てられた位置にサブデータＳＤＡＴＡを保存する。
【００６９】
一方、データ検出部１４０において、保存部１５０のページのうちノットプレゼント領域を判断する過程を説明すると、次の通りである。
【００７０】
ホスト１００において、保存部１５０の特定のアドレスに対してキャッシュライン１５１単位でライト動作を行う場合を仮定する。ＥＣＣエンコーダ１４１は、ノットプレゼント検出信号ＮＰＳＩＧが入力されてＥＣＣをエンコードし、無効ＥＣＣを生成してキャッシュライン１５１の無効領域に保存する。すなわち、データ検出部１４０はＥＣＣエンコーダ１４１を介して意図的にＥＣＣを誤って生成して無効ＥＣＣを保存部１５０に出力する。
【００７１】
そして、リード動作時、キャッシュライン１５１に保存された無効ＥＣＣは、ＥＣＣデコーダ１４２に伝達される。ＥＣＣデコーダ１４２は、該当するキャッシュライン１５１でリードされたＥＣＣをデコードする。データ検出部１４０は、ＥＣＣデコーダ１４２のデコードデータを判断してノットプレゼント領域を判断することができる。
【００７２】
データ検出部１４０は、ＥＣＣデコーダ１４２のデコードデータを判断してエラーを検出することができる。データ検出部１４０は、検出されたエラーが意図した無効ＥＣＣであるか、それとも実際の不良であるかを判断する。すなわち、データ検出部１４０は、意図した無効ＥＣＣが検出されたのか、それとも保存部１５０の実際の不良により発生したＥＣＣであるのかを判断する。ＥＣＣエンコーダ１４１は、ノットプレゼント検出信号ＮＰＳＩＧが入力されてＥＣＣをエンコードする。したがって、データ検出部１４０は、ノットプレゼント検出信号ＮＰＳＩＧが活性化された場合、意図した無効ＥＣＣでエラーが検出されたものと判断することができる。
【００７３】
例えば、ＥＣＣエンコーダ１４１は、データＤＡＴＡと該データＤＡＴＡに含まれたＥＣＣが入力される。データＤＡＴＡに対応するＥＣＣビットが「０」である場合、ＥＣＣエンコーダ１４１は無効ＥＣＣ、すなわち、ＥＣＣビットを「１」にエンコードしてキャッシュライン１５１に保存する。すると、データ検出部１４０はキャッシュライン１５１に保存されたＥＣＣをデコードして元のＥＣＣビットと比較する。
【００７４】
万一、ＥＣＣデコーダ１４２でデコードされたＥＣＣビットが「０」である場合、キャッシュライン１５１にデータが既に保存されたプレゼント領域と判断する。一方、ＥＣＣデコーダ１４２でデコードされたＥＣＣビットが「１」である場合、キャッシュライン１５１にデータが保存されていないノットプレゼント領域と判断する。
【００７５】
図９に示されるように、データ検出部１４０はキャッシュライン１５１にデータの保存の有無をビットマップで表示することができる。例えば、ＥＣＣエラーが発生した場合、データが保存されていないノットプレゼント状態であるため、「Ｂ」のように表示されることができる。ここで、「Ｂ」は、無効にセットされたデータを示す。一方、ＥＣＣエラーが発生していない場合、データが保存されたプレゼント状態であるため、「Ａ」のように表示することができる。
【００７６】
また、データ検出部１４０は、ＥＣＣエラーを意図的に生成するとき、実際のメモリエラーが発生したものと区別するために、特定の規則を有するようにする。例えば、特定の規則を「＋１」と仮定する。すると、正しいＥＣＣが「Ｃ」であるとき、ノットプレゼントデータに対して「Ｃ」＋１が生成されるものであり、ＥＣＣチェックの際に−１をして比較すれば、ＥＣＣエラーではなくノットプレゼントであることを確認することができる。
【００７７】
すなわち、ホスト１００、はページ単位でメモリ装置２００にアクセスするため、ページ内の領域に対する接近が難しい。したがって、ホスト１００の立場でメモリ装置２００のページ内でノットプレゼントされた領域を判断し難い。そこで、データ検出部１４０を介してホスト１００内でノットプレゼントデータを検出する。
【００７８】
本発明が属する技術分野において通常の知識を有する者は、本発明がその技術的思想や必須的特徴を変更せずに、他の具体的な形態で実施されることができるため、以上で述べた実施例は全ての面で例示的なものであり、限定的なものではないことと理解すべきである。本発明の範囲は、詳細な説明よりは後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、並びにその等価概念から導出される全ての変更または変形された形態が、本発明の範囲に含まれるものと解釈されるべきである。
【符号の説明】
【００７９】
１１０  アクセスパターン保存部
１２０  プロファイル部
１３０  ホスト制御部
１４０  データ検出部
１５０  保存部
【図１】
2020087421.tif 000003
【図２】
2020087421.tif 000004
【図３】
2020087421.tif 000005
【図４】
2020087421.tif 000006
【図５】
2020087421.tif 000007
【図６】
2020087421.tif 000008
【図７】
2020087421.tif 000009
【図８】
2020087421.tif 000010
【図９】
2020087421.tif 000011