(57)【要約】      （修正有）【課題】メモリー装置の間にデータを直接転送し、データのアドレスを決めずにパケット形式で伝達するようにするメモリーシステムを提供する。【解決手段】メモリーシステム１０は、データとヘッダー情報を含むデータパケットを互いに直接的に伝達する複数のメモリー装置Ｍ１〜Ｍ４、及び複数のメモリー装置のうちソースメモリー装置Ｍ１にデータパケットを送信し、複数のメモリー装置のうち、最後のメモリー装置Ｍ４からデータパケットを受信するメモリー制御部１００を備える。複数のメモリー装置のそれぞれは、ヘッダー情報をハッシュして互いに異なる位置のアドレス領域にデータをアクセスする。【選択図】図１
2020087408.tif 000002
【特許請求の範囲】
【請求項１】
データおよびヘッダー情報を含むデータパケットを互いに直接的に伝達する複数のメモリー装置と、
該複数のメモリー装置のうち、ソースメモリー装置に前記データパケットを送信し、前記複数のメモリー装置のうち最後のメモリー装置から前記データパケットを受信するメモリー制御部と、を備え、
前記複数のメモリー装置のそれぞれは、
前記ヘッダー情報をハッシュして互いに異なる位置のアドレス領域に前記データをアクセスするメモリーシステム。
【請求項２】
前記メモリー制御部は、
プロセッサとチャンネルとを介して連結され、前記チャンネルを介して前記データパケットを送受信する請求項１に記載のメモリーシステム。
【請求項３】
前記メモリー制御部は、
プロセッサとインターフェーシングを行うインターフェースと、
前記ソースメモリー装置と前記最後のメモリー装置のアクセス動作を仲介する制御部と、
前記制御部から印加される前記データパケットを前記ソースメモリー装置に送信する送信部と、
前記最後のメモリー装置から印加される前記データパケットを受信し、前記制御部に伝達する受信部と、を備える請求項１に記載のメモリーシステム。
【請求項４】
前記制御部は、
前記最後のメモリー装置から印加される前記データパケットを前記送信部に伝達するか前記インターフェースに伝達する請求項３に記載のメモリーシステム。
【請求項５】
前記複数のメモリー装置のそれぞれは、
ヘッダーチェック信号に対応し、キュー情報を設定するか変更するデータパケット制御部と、
前記データパケットに対応し、アドレスをハッシュしてハッシュアドレスを生成するアドレスハッシュ部と、
前記データパケットと前記ハッシュアドレスに対応し、コマンド及びアドレスを生成するコマンド及びアドレス生成部と、
前記コマンド及び前記アドレスに対応し、前記データパケットを格納する格納部と、
前記データパケットと前記格納部から読み取られたデータを比較してヘッダー情報をチェックし、前記ヘッダーチェック信号を生成するヘッダーチェック部と、を備える請求項１に記載のメモリーシステム。
【請求項６】
前記データパケット制御部は、
前記ヘッダー情報に含まれた読み取り要請キューに対応して前記ヘッダー情報をチェックし、前記ヘッダー情報が一致する場合、読み取りデータにキューを変更する請求項５に記載のメモリーシステム。
【請求項７】
前記データパケット制御部は、
前記ヘッダー情報に含まれた有効情報を判断し、前記有効情報が無効状態の場合、ライトバックキューに対応して前記データパケットを格納する請求項５に記載のメモリーシステム。
【請求項８】
前記データパケット制御部は、
前記有効情報が有効状態の場合、アドレスレイヤー番号を増加させて有効なデータパケットを読み取り、ライトバックキューを設定する請求項５に記載のメモリーシステム。
【請求項９】
前記アドレスハッシュ部は、
前記データパケットに含まれたヘッダー情報をハッシュし、ランダムな物理アドレスを生成する請求項５に記載のメモリーシステム。
【請求項１０】
前記アドレスハッシュ部は、
前記ヘッダー情報に含まれたアドレスレイヤー番号、プロセスＩＤ及び仮想アドレスをハッシュし、ランダムな物理アドレスを生成する請求項５に記載のメモリーシステム。
【請求項１１】
前記アドレスハッシュ部は、
前記ヘッダー情報に含まれたアドレスレイヤー番号、プロセスＩＤ及び仮想アドレスを論理組合し、ランダムな物理アドレスを生成する論理組合部を含む請求項５に記載のメモリーシステム。
【請求項１２】
前記複数のメモリー装置のそれぞれは、
前記メモリー制御部から前記データパケットを受信する受信部と、
前記データパケット制御部から印加されるデータパケット伝送信号に対応し、前記データパケットを送信する送信部と、を備える請求項５に記載のメモリーシステム。
【請求項１３】
前記複数のメモリー装置のそれぞれは、
前記受信部を介して印加された前記データパケットを前記送信部を介してバイパスする請求項１２に記載のメモリーシステム。
【請求項１４】
前記複数のメモリー装置のそれぞれは、
前記データパケットをバッファリングしデータを前記格納部に提供するバッファー部を備える請求項５に記載のメモリーシステム。
【請求項１５】
前記複数のメモリー装置のそれぞれは、
前記格納部に格納されたデータを読み取り、前記読み取られたデータを前記ヘッダーチェック部に提供するデータ読み取り部を備える請求項５に記載のメモリーシステム。
【請求項１６】
前記複数のメモリー装置に格納される前記ヘッダー情報は、
有効、アドレスレイヤー番号、プロセスＩＤ及び仮想アドレスのうち、何れか一つ以上のフィールドを含む請求項１に記載のメモリーシステム。
【請求項１７】
前記複数のメモリー装置間に伝達される前記ヘッダー情報は、
キュー、アドレスレイヤー番号、プロセスＩＤ及び仮想アドレスのうち、何れか一つ以上のフィールドを含む請求項１に記載のメモリーシステム。
【請求項１８】
前記キューは、
読み取り要請、読み取りデータ及びライトバック情報のうち、何れか一つの情報に設定される請求項１７に記載のメモリーシステム。
【請求項１９】
前記メモリー制御部からフラッシュ要請が印加される場合、前記ソースメモリー装置に既に格納されたデータをフラッシングして次のメモリー装置に伝達し、ライトバックキューに対応して要請されたデータを前記ソースメモリー装置に格納する請求項１に記載のメモリーシステム。
【請求項２０】
複数のメモリー装置のうち、前記メモリー制御部と物理的に隣接した前記ソースメモリー装置に要請されたデータが格納される請求項１に記載のメモリーシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリーシステムに関するものであり、メモリー装置の間にデータを転送するための技術である。
【背景技術】
【０００２】
最近、スマートフォン、タブレットＰＣのような移動通信端末機の普及が大衆化している。そして、ソーシャルネットワークサービス（ＳＮＳ、Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ）、モノ（機械）のネットワーク（Ｍ２Ｍ、Ｍａｃｈｉｎｅ  ｔｏ  Ｍａｃｈｉｎｅ）、センサネットワーク（Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋ）等の使用が増加している。これにより、データの量、生成速度及びその多様性が幾何級数的に増加している。ビッグデータの処理のためには、メモリーの速度も重要であるが、格納容量が大きいメモリー装置及びメモリーモジュールが要求される。
【０００３】
このため、メモリーシステムは、データの格納容量を増やすために複数のメモリー装置を具備する。メモリーシステムは、複数のメモリー装置がデータラインを共有してコントローラーに連結される。ところが、メモリーシステム内に含まれるメモリー装置の個数が多い場合、ローディングが増加するようになる。また、メモリー装置とコントローラー間のデータ転送時のデータ移動時間及び電力消耗が増加するようになる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、メモリー装置の間にデータを直接転送し、データのアドレスを決めずにパケット形式で伝達するようにするメモリーシステムを提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態に係るメモリーシステムは、データとヘッダー情報を含むデータパケットを互いに直接的に伝達する複数のメモリー装置と、複数のメモリー装置のうちソースメモリー装置にデータパケットを送信し、複数のメモリー装置のうち最後のメモリー装置からデータパケットを受信するメモリー制御部と、を備え、複数のメモリー装置のそれぞれは、ヘッダー情報をハッシュして互いに異なる位置のアドレス領域にデータをアクセスする。
【発明の効果】
【０００６】
本発明の実施形態は、データの転送速度を向上させ、データアドレッシングに関するトラフィックを減らすことができるようにする効果を提供する。
また、本発明の実施形態は、例示のためのものであり、当業者であれば、添付された特許請求範囲の技術的思想と範囲を介して多様な修正、変更、代替及び付加が可能なはずであり、このような修正変更等は、以下の特許請求範囲に属することと見做さなければならない。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に係るメモリーシステムの構成図である。
【図２】図１のメモリー制御部に関する詳細構成図である。
【図３】図１の各メモリー装置に関する詳細構成図である。
【図４】図３のアドレスハッシュ部に関する動作を説明するための図である。
【図５】図１の各メモリー装置に格納されるデータ格納フォーマットの実施形態を示す図である。
【図６】図１の各メモリー装置間に伝達するデータストリームフォーマットの実施形態を示す図である。
【図７】図１の各メモリー装置に要請されるデータ要請フォーマットの実施形態を示す図である。
【図８】本発明の実施形態によるメモリーシステムの動作を説明するための流れ図である。
【図９】本発明の実施形態によるメモリーシステムの動作を説明するための流れ図である。
【図１０】本発明の実施形態によるメモリーシステムキューの変化を説明するための図である。
【発明を実施するための形態】
【０００８】
以下、添付の図面を参照し本発明の実施形態に対して詳しく説明する。本発明の実施形態を説明することにおいて、ある部分が他の部分と『連結』されているという時、これは、『直接的に連結』されている場合だけでなく、その中間に他の素子を間に置いて『電気的に連結』されている場合も含む。また、ある部分がある構成要素を『含む』又は『具備』するという時、これは、特別に反対される記載がない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含むか具備できることを意味する。また、明細書全体の記載において、一部構成要素を単数形で記載したからといって、本発明がそれに限られるものではなく、当該構成要素が複数でなり得ることが分かる。
【０００９】
図１は、本発明の実施形態によるメモリーシステムの構成図である。
本発明の実施形態によるメモリーシステム１０は、メモリー制御部１００と複数のメモリー装置Ｍ１〜メモリー装置Ｍ４を備える。
【００１０】
メモリー制御部１００は、プロセッサＰ１〜プロセッサＰ３から要請された命令を分析し処理できる。ここで、プロセッサＰ１〜プロセッサＰ３から要請された命令は、複数のメモリー装置Ｍ１〜メモリー装置Ｍ４にデータを書き込むための書き込み命令と、複数のメモリー装置Ｍ１〜メモリー装置Ｍ４に格納されたデータを読み取るための読み取り命令等を含んでよい。メモリー制御部１００は、プロセッサＰ１〜プロセッサＰ３から命令が印加されれば、複数のメモリー装置Ｍ１〜Ｍ４を駆動するためのファームウエア（Ｆｉｒｍｗａｒｅ）又はソフトウェアによってバックグラウンド機能ブロックの動作を制御できる。
【００１１】
メモリー制御部１００は、プロセッサＰ１〜プロセッサＰ３とチャンネルＣＮ１〜チャンネルＣＮ３を介して連結される。ここで、チャンネルＣＮ１〜チャンネルＣＮ３は、データが送受信されるデータバスと制御信号が送受信される制御バスを備えてもよい。
【００１２】
メモリー制御部１００は、チャンネルＣＮ１〜チャンネルＣＮ３を介して印加されるデータパケット（後述する）をメモリー装置Ｍ１（ソースメモリー装置）に伝達する。そして、メモリー制御部１００は、メモリー装置Ｍ４（最後のメモリー装置）から印加されるデータパケットを、チャンネルＣＮ１〜チャンネルＣＮ３を介してプロセッサＰ１〜プロセッサＰ３に伝達する。また、メモリー制御部１００は、メモリー装置Ｍ４から印加されるデータパケットをメモリー装置Ｍ１に伝達できる。
【００１３】
メモリー制御部１００は、複数のメモリー装置Ｍ１〜メモリー装置Ｍ４の動作を制御できる。本発明の実施形態で複数のメモリー装置Ｍ１〜メモリー装置Ｍ４は、メモリー制御部１００を経ず複数のメモリー装置Ｍ１〜メモリー装置Ｍ４間にデータパケットが直接伝達されてよい。これによって、メモリー制御部１００は、チャンネルＣＮ１〜チャンネルＣＮ３を介して印加されるデータパケットをメモリー装置Ｍ１に伝達し、メモリー装置Ｍ４から印加されるデータパケットをチャンネルＣＮ１〜チャンネルＣＮ３に提供する。
【００１４】
本発明の実施形態による複数のメモリー装置Ｍ１〜メモリー装置Ｍ４は、メモリー制御部１００を経由せず互いに直接データパケットを伝達できる。すなわち、複数のメモリー装置Ｍ１〜メモリー装置Ｍ４は、互いに異なるメモリー装置Ｍ１〜メモリー装置Ｍ４から提供されたデータパケットを格納するか、格納されたデータパケットを読み取って互いに異なるメモリー装置に提供できる。
【００１５】
例えば、メモリー装置Ｍ１は、メモリー制御部１００から印加されたデータパケットを格納するか、格納されたデータパケットをメモリー装置Ｍ２に伝達できる。そして、メモリー装置Ｍ２は、メモリー装置Ｍ１から印加されたデータパケットを格納するか、格納されたデータパケットをメモリー装置Ｍ３に伝達できる。また、メモリー装置Ｍ３は、メモリー装置Ｍ２から印加されたデータパケットを格納するか、格納されたデータパケットをメモリー装置Ｍ４に伝達できる。そして、メモリー装置Ｍ４は、メモリー装置Ｍ３から印加されたデータパケットを格納するか、格納されたデータパケットをメモリー制御部１００に伝達できる。
【００１６】
本発明の実施形態において、メモリー装置Ｍ１〜メモリー装置Ｍ４が４個であることを一例に説明したが、本発明の実施形態は、これに限定されるものでなはく、メモリー装置の個数は限定されない。
【００１７】
また、本発明の実施形態において、メモリー装置Ｍ１〜メモリー装置Ｍ４は揮発性メモリーで構成されてよい。しかし、本発明の実施形態は、これに限定されるものではなく、メモリー装置Ｍ１〜メモリー装置Ｍ４がＮＡＮＤ型フラッシュメモリー、ＮＯＲ型フラッシュメモリー、ＰＲＡＭ（Ｐｈａｓｅ−ｃｈａｎｇｅ  ＲＡＭ）、ＦＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）等の非揮発性メモリー装置のうち一つで構成されてよい。
【００１８】
複数のメモリー装置Ｍ１〜メモリー装置Ｍ４は、互いに直接データパケットを伝達するためのインターフェースＩ１〜インターフェースＩ４を備える。
ここで、メモリー装置Ｍ１のインターフェースＩ１は、受信部Ｒ１、送信部Ｔ１を備える。受信部Ｒ１は、メモリー制御部１００から印加されるデータパケットを受信し、送信部Ｔ１は、メモリー装置Ｍ２にデータパケットを送信する。
【００１９】
そして、メモリー装置Ｍ２のインターフェースＩ２は、受信部Ｒ２、送信部Ｔ２を含む。受信部Ｒ２は、メモリー装置Ｍ１から印加されるデータパケットを受信し、送信部Ｔ２は、メモリー装置Ｍ３にデータパケットを送信する。
【００２０】
メモリー装置Ｍ３のインターフェースＩ３は、受信部Ｒ３、送信部Ｔ３を備える。受信部Ｒ３は、メモリー装置Ｍ２から印加されるデータパケットを受信し、送信部Ｔ３は、メモリー装置Ｍ４にデータパケットを送信する。
【００２１】
また、メモリー装置Ｍ４のインターフェースＩ４は、受信部Ｒ４、送信部Ｔ４を含む。受信部Ｒ４は、メモリー装置Ｍ３から印加されるデータパケットを受信し、送信部Ｔ４は、メモリー制御部１００にデータパケットを送信する。
【００２２】
図２は、図１のメモリー制御部１００に関する詳細構成図である。
メモリー制御部１００は、インターフェース１１０、制御部１２０、送信部１３０及び受信部１４０を備える。
【００２３】
ここで、インターフェース１１０は、外部のプロセッサＰ１〜プロセッサＰ３とチャンネルＣＮを介してインターフェーシングを行う。すなわち、インターフェース１１０は、プロセッサＰ１〜プロセッサＰ３から印加されるデータパケットを制御部１２０に伝達するか、制御部１２０から印加されるデータパケットをプロセッサＰ１〜プロセッサＰ３に提供する。
【００２４】
制御部１２０は、メモリー装置Ｍ１、Ｍ４のアクセス動作を仲介する。すなわち、制御部１２０は、インターフェース１１０を介して印加されるデータパケットを送信部１３０に伝達する。そして、制御部１２０は、受信部１４０から印加されるデータパケットをインターフェース１１０に伝達する。制御部１２０は、インターフェース１１０を介して印加されるデータパケットと、受信部１４０から印加されるデータパケットとの間に衝突が起きないようにデータパケットの送受信動作を仲介する。
【００２５】
送信部１３０は、制御部１２０から印加されるデータパケットをメモリー装置Ｍ１に送信する。そして、受信部１４０は、メモリー装置Ｍ４からデータパケットを受信し制御部１２０に伝達する。
【００２６】
図３は、図１の各メモリー装置Ｍ１〜メモリー装置Ｍ４に対する詳細構成図である。複数のメモリー装置Ｍ１〜メモリー装置Ｍ４は、その構成が全て同一であるため、図３の実施形態では、一つのメモリー装置Ｍ１に関する詳細構成を一例に説明する。
【００２７】
メモリー装置Ｍ１は、データパケット制御部２００、アドレスハッシュ部２１０、コマンド及びアドレス生成部２２０、バッファー部２３０、ヘッダーチェック部２４０、格納部２５０、データ読み取り部２６０、受信部Ｒ１及び送信部Ｔ１を備える。
【００２８】
受信部Ｒ１は、メモリー制御部１００からデータパケットＩＤＰを受信し、データパケットＤＰをデータパケット制御部２００に提供する。そして、データパケット制御部２００は、受信部Ｒ１から印加されるデータパケットＤＰに対応し、メモリー装置Ｍ１内部の動作を制御する。
【００２９】
すなわち、データパケット制御部２００は、受信部Ｒ１からデータパケット  ＤＰを受信し、メモリー装置Ｍ１内部にデータパケットＤＰを提供する。ここで、データパケットＤＰは、データとヘッダー情報を含んでよい。そして、データパケット制御部２００は、ヘッダーチェック部２５０から印加されるヘッダーチェック信号ＨＣに対応し、メモリー装置Ｍ１のキュー（後述する）情報を設定するか変更する。また、データパケット制御部２００は、後段のメモリー装置Ｍ２にデータパケットを送信するためのデータパケット伝送信号ＤＴを生成する。
【００３０】
そして、アドレスハッシュ部２１０は、データパケット制御部２００から印加されるデータパケットＤＰに対応し、アドレスをハッシュしてハッシュアドレスＨＡＤＤを生成する。すなわち、アドレスハッシュ部２１０は、データパケットＤＰに含まれたヘッダー情報をハッシュし、ランダムな物理アドレス（Ｐｈｙｓｉｃａｌ  Ａｄｄｒｅｓｓ）を生成できる。アドレスハッシュ部２１０に対する動作は、後述する図４で詳しく説明する。
【００３１】
コマンド及びアドレス生成部２２０は、データパケットＤＰとハッシュアドレスＨＡＤＤに対応し、データを格納するためのコマンドＣＭＤ及びアドレスＡＤＤを生成する。格納部２３０は、コマンドＣＭＤ及びアドレスＡＤＤに対応し、バッファー部２４０から印加されるデータＢＤを格納する。バッファー部２４０は、データパケットＤＰをバッファリングしデータＢＤを格納部２３０に提供する。
【００３２】
ヘッダーチェック部２５０は、データパケットＤＰとデータ読み取り部２６０から読み取られたデータＲＤを比較して、ヘッダー情報をチェックしヘッダーチェック信号ＨＣをデータパケット制御部２００に出力する。そして、データ読み取り部２６０は、格納部２３０に格納されたデータＤを読み取って、読み取られたデータＲＤをヘッダーチェック部２６０に出力する。そして、データ読み取り部２６０は、読み取られたデータＲＤを送信部Ｔ１に提供することもできる。
【００３３】
送信部Ｔ１は、データ読み取り部２６０から読み取られたデータＲＤの入力を受ける。そして、送信部Ｔ１は、データパケット制御部２００から印加されるデータパケット伝送信号ＤＴに対応し、データパケットＯＤＰを次のメモリー装置Ｍ２に送信する。
【００３４】
プロセッサＰ１〜プロセッサＰ３から物理アドレスの入力を受け、マッピングテーブルを介してメモリー装置Ｍ１〜Ｍ４のアドレスをマッピングする場合、各メモリー装置Ｍ１〜メモリー装置Ｍ４にアクセスすることが難しい。プロセッサＰ１〜プロセッサＰ３から遠く配置されたメモリー装置に、指定されたデータをフラッシュ（Ｆｌｕｓｈ）するか読み取る過程でローディングが増加するようになり、移動速度が低下されることがある。
【００３５】
このため、本発明の実施形態では、データが格納されるアドレスを指定せず、データとアドレスをパケット形式で伝達する。したがって、本発明の実施形態は、データパケットＤＰ情報によってアドレスをハッシュし、各メモリー装置Ｍ１〜Ｍ４でアドレスがランダムに指定できるようにする。そして、本発明の実施形態は、メモリー制御部１００と最も近い第１のメモリー装置Ｍ１に要請されたデータを格納する。これによって、本発明の実施形態は、データのアクセスが容易であり、データをフラッシュするか読み取る過程でローディングを減らし、移動速度を増加させることができる。
【００３６】
このような構成を有するメモリー装置Ｍ１の動作を説明すれば、次の通りである。
先ず、メモリー装置Ｍ１のデータを読み取るための読み取り動作時に、データパケット制御部２００は、「読み取り要請」キューが含まれたデータパケットＤＰを受信する。アドレスハッシュ部２１０は、データパケットＤＰに含まれたヘッダー情報に基づいてハッシュアドレスＨＡＤＤを生成する。
【００３７】
その後、コマンド及びアドレス生成部２２０によって生成されたコマンドＣＭＤ及びアドレスＡＤＤに対応し、格納部２３０に格納されたデータＤが読み取られる。ここで、アドレスＡＤＤは、ハッシュアドレスＨＡＤＤによってランダに設定されたアドレスレイヤーである。格納部２３０は、アドレスＡＤＤの番号が一つずつ増加するに伴い、ランダムのアドレスからデータＤが読み取られてよい。データ読み取り部２６０は、データＤの入力を受け、読み取られたデータＲＤをヘッダーチェック部２５０に提供する。
次いで、ヘッダーチェック部２５０は、要請されたデータパケットＤＰのヘッダー情報と、読み取られたデータＲＤの情報が一致するか否かを示すヘッダーチェック信号ＨＣを生成する。データパケット制御部２００は、ヘッダーチェック信号ＨＣを判断し、要請されたデータパケットＤＰのヘッダー情報と読み取られたデータＲＤの情報が一致すれば、「読み取りデータ」にキューを変更する。
【００３８】
次に、データ読み取り部２６０を介して読み取られたデータＲＤが送信部  Ｔ１に伝達される。そして、データパケット制御部２００は、データパケット伝送信号ＤＴを活性化させる。送信部Ｔ１は、データパケット伝送信号ＤＴが活性化された場合、データパケットＯＤＰを次のメモリー装置Ｍ２に送信する。
【００３９】
もし、第１のメモリー装置Ｍ１で要請されたデータを読み取った場合、他のメモリー装置Ｍ２〜メモリー装置Ｍ４は、読み取り動作を行わずにバイパスする。すなわち、第１のメモリー装置Ｍ１は、前記のような読み取り動作の過程を介して格納部２３０のデータＤを読み取る。そして、他のメモリー装置Ｍ２〜メモリー装置Ｍ４は、前記のような読み取り動作過程を経ず、データパケット制御部２００が直ぐデータパケット伝送信号ＤＴを活性化させる。これによって、他のメモリー装置Ｍ２〜メモリー装置Ｍ４は、受信部Ｒ１を介して印加されるデータパケットＤＰを送信部Ｔ１を介して直ぐバイパスし、メモリー制御部１００にデータパケットＯＤＰを伝達できる。
【００４０】
一方、メモリー装置Ｍ１にデータを書き込むための書き込み動作時に、データパケット制御部２００は、「ライトバック」キューが含まれたデータパケットＤＰを受信する。データパケット制御部２００は、受信されたデータパケットＤＰをバッファー部２４０に格納する。そして、アドレスハッシュ部２１０は、データパケットＤＰに含まれたヘッダー情報に基づいてハッシュアドレスＨＡＤＤを生成する。
【００４１】
その後、コマンド及びアドレス生成部２２０によって生成されたコマンドＣＭＤ及びアドレスＡＤＤに対応し、格納部２３０に格納されたデータＤが読み取られる。データ読み取り部２６０は、データＤの入力を受け、読み取られたデータＲＤをヘッダーチェック部２５０に提供する。
【００４２】
次いで、ヘッダーチェック部２５０は、読み取られたデータＲＤのヘッダー情報をチェックし、ヘッダーチェック信号ＨＣをデータパケット制御部２００に伝達する。データパケット制御部２００は、ヘッダーチェック信号ＨＣを判断し、データの格納可能の可否を示す有効情報のビットが「０」の状態（無効状態）の場合、データ書き込み動作を制御する。すなわち、バッファー部２４０に格納されたデータが格納部２３０に格納される。
【００４３】
ここで、格納部２３０は、ハッシュアドレスＨＡＤＤによってアドレスＡＤＤがランダムに設定され、アドレスＡＤＤの番号が一つずつ増加することに伴い、ランダムのアドレス領域にデータＢＤが書き込まれてよい。
【００４４】
図４は、図３のアドレスハッシュ部２１０に関する動作を説明するための図面である。
アドレスハッシュ部２１０は、データパケット制御部２００から印加されるデータパケットＤＰに対応し、アドレスをハッシュしてハッシュアドレスＨＡＤＤを生成する。すなわち、アドレスハッシュ部２１０は、アドレスレイヤー番号（Ａｄｄｒｅｓｓ  Ｌａｙｅｒ  Ｎｕｍｂｅｒ）、プロセスＩＤ（Ｐｒｏｃｅｓｓ  ＩＤ）及び仮想アドレス（Ｖｉｒｔｕａｌ  Ａｄｄｒｅｓｓ）を含むヘッダー情報をハッシュし、ランダムな物理アドレス（Ｐｈｙｓｉｃａｌ  Ａｄｄｒｅｓｓ）を生成できる。ここで、プロセスＩＤと仮想アドレスは、プロセッサＰ１〜Ｐ３で設定されてよい。
【００４５】
このようなアドレスハッシュ部２１０は、アドレスレイヤー番号、プロセスＩＤ及び仮想アドレスを論理組合し、物理アドレス（Ｐｈｙｓｉｃａｌ  Ａｄｄｒｅｓｓ）をランダムに生成する論理組合部２１１を含んでよい。例えば、論理組合部２１１は、排他的論理和（Ｅｘｃｌｕｓｉｖｅ  ＯＲ、ＸＯＲ）素子を含み、アドレスレイヤー番号、プロセスＩＤ及び仮想アドレスの各ビットを排他的論理和で演算し、ランダムな物理アドレスを生成する。これによって、各メモリー装置Ｍ１〜Ｍ４は、物理的に互いに異なる位置のアドレス領域にデータが格納されてよい。
【００４６】
図５は、図１の各メモリー装置Ｍ１〜メモリー装置Ｍ４に格納されるデータ格納フォーマットの実施形態である。各メモリー装置Ｍ１〜メモリー装置Ｍ４にデータが格納される場合、図５のようなデータフォーマット５００にデータが格納されてよい。
【００４７】
各メモリー装置Ｍ１〜メモリー装置Ｍ４に格納されるデータフォーマット５００は、データとヘッダー情報を含む。ここで、データは、各メモリー装置Ｍ１〜メモリー装置Ｍ４に格納されるデータを意味する。そして、ヘッダー情報は、有効（Ｖａｌｉｄ）情報フィールド５０２、アドレスレイヤー番号フィールド５０４、プロセスＩＤフィールド５０６及び仮想アドレスフィールド５０８等を含んでよい。
【００４８】
有効情報フィールド５０２は、メモリー装置Ｍ１〜Ｍ４にデータを格納できるか否かを示す。メモリー装置Ｍ１〜メモリー装置Ｍ４にデータを格納するためには、有効情報フィールド５０２のビットを判断し、有効情報が有効状態の場合にのみデータの格納が可能である。
例えば、有効情報フィールド５０２のビットが「０」の場合、該当するメモリー装置にデータの格納が可能な場合である。一方、有効情報フィールド５０２のビットが「１」の場合、当該メモリー装置に既に格納されたデータがあるため、これ以上データを格納できないとのことを意味してよい。
【００４９】
そして、アドレスレイヤー番号フィールド５０４は、メモリー装置Ｍ１〜メモリー装置Ｍ４でデータが格納されるターゲットアドレスの番号を示す。本発明の実施形態は、アドレスハッシュ部２１０によってデータが格納されるアドレス領域がランダムに指定される。これによって、本発明の実施形態は、それぞれのメモリー装置Ｍ１〜メモリー装置Ｍ４で互いに異なる位置のアドレス領域にデータが格納されてよい。
【００５０】
例えば、メモリー装置Ｍ１ではアドレスレイヤー番号が「１」に設定されてよく、メモリー装置Ｍ２ではアドレスレイヤー番号が「２」に設定されてよい。また、メモリー装置Ｍ３ではアドレスレイヤー番号が「３」に設定されてよく、メモリー装置Ｍ４ではアドレスレイヤー番号が「４」に設定されてよい。しかし、これは、一例に該当するだけであり、各メモリー装置Ｍ１〜Ｍ４でデータが格納される位置は、ランダムに変更可能である。
【００５１】
また、プロセスＩＤフィールド５０６は、複数のプロセッサＰ１〜プロセッサＰ３のうち、選択されたメモリー装置にデータサービスを要請したプロセッサの固有番号を示す。また、仮想アドレスフィールド５０８は、各メモリー装置Ｍ１〜メモリー装置Ｍ４でデータが格納されるアドレス位置をランダムに指定するためのアドレスである。
【００５２】
図６は、図１の各メモリー装置Ｍ１〜メモリー装置Ｍ４間に伝達されるデータストリームフォーマットの実施形態を示す図である。各メモリー装置Ｍ１〜メモリー装置Ｍ４間にデータが伝達される場合、図６のようなデータフォーマット６００にデータが伝達されてよい。
【００５３】
各メモリー装置Ｍ１〜メモリー装置Ｍ４間に伝達されるデータフォーマット６００は、データとヘッダー情報を含む。ここで、ヘッダー情報は、キュー（Ｑｕｅｕｅ）フィールド６０２、アドレスレイヤー番号フィールド６０４、プロセスＩＤフィールド６０６及び仮想アドレスフィールド６０８等を含んでよい。
【００５４】
キュー情報は、各メモリー装置Ｍ１〜メモリー装置Ｍ４間に伝達されるデータの動作情報を示す。キュー情報は、「読み取り要請（Ｒｅａｄ  ｒｅｑｕｅｓｔ）」、「読み取りデータ（Ｒｅａｄ  ｄａｔａ）」、「ライトバック（Ｗｒｉｔｅ  ｂａｃｋ）」情報等を含んでよい。「読み取り要請」情報は、各メモリー装置  Ｍ１〜Ｍ４間にデータの読み取りを要請するための情報である。そして、「読み取りデータ」情報は、各メモリー装置Ｍ１〜メモリー装置Ｍ４に格納されたデータを読み取るための情報である。また、「ライトバック」情報は、各メモリー装置Ｍ１〜メモリー装置Ｍ４にデータを格納するための情報である。
【００５５】
本発明の実施形態でメモリー制御部１００は、「読み取り要請」情報と「ライトバック」情報をメモリー装置Ｍ１に伝達できる。そして、メモリー制御部１００は、メモリー装置Ｍ４から印加される「読み取りデータ」情報をヘッダー情報によって設定されたプロセッサに伝達できる。また、メモリー装置Ｍ４は、「読み取りデータ」情報を「ライトバック」情報にメモリー装置Ｍ１に再び伝達できる。
【００５６】
図７は、図１の各メモリー装置Ｍ１〜メモリー装置Ｍ４に要請されるデータ要請フォーマットの実施形態である。各メモリー装置Ｍ１〜メモリー装置Ｍ４に「読み取り要請」情報が伝達される場合、図７のようなデータフォーマット７００にヘッダー情報が伝達されてよい。
【００５７】
「読み取り要請」動作時に、各メモリー装置Ｍ１〜メモリー装置Ｍ４に互いに伝達されるデータフォーマットは、ヘッダー情報のみ含む。ここで、ヘッダー情報は、キューフィールド６０２、アドレスレイヤー番号フィールド６０４、プロセスＩＤフィールド６０６及び仮想アドレスフィールド６０８等を含んでよい。
【００５８】
図８は、本発明の実施形態によるメモリーシステムの動作を説明するための流れ図である。図８の流れ図では、「読み取り要請」、「読み取りデータ」に対する動作過程を一例に説明する。
【００５９】
メモリー制御部１００は、プロセッサＰ１から「読み取り要請」情報を含むデータパケットを受信する（段階Ｓ８１）。そうすると、メモリー制御部１００からメモリー装置Ｍ１に伝達されるヘッダー情報のキューが、「読み取り要請」状態となり、アドレスレイヤー番号が「１」にセッティングされる（段階Ｓ８２）。そして、メモリー装置Ｍ１に「読み取り要請」に対するキューを要請する（段階Ｓ８３）。
【００６０】
メモリー装置Ｍ１は、入力されるアドレスをハッシュし格納されたアドレスを読み取る（段階Ｓ８４）。そして、メモリー装置Ｍ１は、ヘッダーチェック部２５０を介して読み取りデータをチェックする。すなわち、ヘッダーチェック部２５０は、ヘッダー情報が「読み取り要請」情報とマッチングされるか否かを判断する（段階Ｓ８５）。
【００６１】
ヘッダー情報が「読み取り要請」情報とマッチングされず、有効なデータがない場合、アドレスレイヤー番号を一つ増加させる（段階Ｓ８６）。
ここで、メモリー装置Ｍ２、Ｍ３にも有効なデータがない場合、メモリー装置Ｍ４まで「読み取り要請」キューが伝達される。もし、最後のメモリー装置Ｍ４にも有効なデータがなければ、再び最初のメモリー装置Ｍ１に「読み取り要請」キューが伝達される。
【００６２】
そうすると、メモリー装置Ｍ１は、最初にハッシュされたアドレスと異なるアドレスが指定される。すなわち、アドレスハッシュ部２１０は、図４のような方式でアドレスが続けてランダムに変更されるため、２回目の「読み取り要請」キューが伝達される場合、新しいアドレスが指定される。メモリー装置Ｍ１でハッシュされるアドレスは、メモリー装置Ｍ１内でランダムに変更されてよい。
【００６３】
一方、ヘッダー情報が「読み取り要請」情報とマッチングされる場合、メモリー装置Ｍ１に格納されたデータを読み取るために、キュー情報を「読み取りデータ」状態に変更する。そして、有効データを見つけたメモリー装置Ｍ１のヘッダー情報から有効情報のビットを「０」に変更する（段階Ｓ８７）。すなわち、メモリー装置Ｍ１で有効データを既に読み取ったため、書き込み動作時に次に入力されるデータが格納され得るように有効情報のビットを無効化させる。
【００６４】
その後、次のメモリー装置、例えば、メモリー装置Ｍ２にキューを要請しデータを伝達する（段階Ｓ８８）。最後のメモリー装置Ｍ４までデータが伝達されれば、メモリー制御部１００は、メモリー装置Ｍ４のデータパケットをプロセッサＰ１に送る。
【００６５】
図９は、本発明の実施形態によるメモリーシステムの動作を説明するための流れ図である。図９の流れ図では、「ライトバック」に対する動作過程を一例に説明する。
【００６６】
メモリー制御部１００は、プロセッサＰ１からフラッシュ（Ｆｌｕｓｈ）要請情報を含むデータパケットを受信する（段階Ｓ９１）。フラッシュ要請情報は、メモリー装置Ｍ１に既に格納されたデータをフラッシングし次のメモリー装置Ｍ２にプッシュして、プロセッサＰ１から要請される新しいデータをメモリー装置Ｍ１に格納するための情報である。
【００６７】
そうすると、メモリー制御部１００からメモリー装置Ｍ１に伝達されるヘッダー情報のキューが、「ライトバック」状態となり、アドレスレイヤー番号が「１」にセッティングされる（段階Ｓ９２）。そして、メモリー装置Ｍ１にデータを格納するために、「ライトバック」に対するキューを要請する（段階Ｓ９３）。
【００６８】
メモリー装置Ｍ１は、入力されるアドレスをハッシュし格納されたアドレスを読み取る（段階Ｓ９４）。そして、メモリー装置Ｍ１は、ヘッダーチェック部２５０を介して読み取りデータをチェックする。すなわち、ヘッダーチェック部２５０は、ヘッダー情報の有効フィールドをチェックし有効情報のビットが「１」の状態（有効状態）であるか、「０」の状態（無効状態）であるかを判断する（段階Ｓ９５）。
【００６９】
もし、有効情報のビットが無効状態の場合、当該アドレスに要請されたデータパケットを格納し、有効ビットを「１」の状態（有効状態）にセッティングする（段階Ｓ９６）。一方、ヘッダー情報に有効な他のアドレスレイヤー番号が存在する場合、当該アドレスに対して有効なデータパケットを読み取る。そして、アドレスレイヤー番号を一つ増加させ「ライトバック」キューをセッティングし、該当するアドレス領域に要請されたデータを格納する（段階Ｓ９７）。
【００７０】
すなわち、本発明の実施形態は、「ライトバック」動作時にメモリー制御部１００と最も隣接した第１のメモリー装置Ｍ１に要請されたデータを格納する。メモリー制御部１００と最も隣接したメモリー装置Ｍ１にデータを格納すれば、後ほどデータを読み取る場合アクセスが容易である。
【００７１】
そして、本発明の実施形態は、ヘッダー情報の有効フィールドをチェックし、メモリー装置Ｍ１に既に格納されたデータがあるか否かを判断する。メモリー装置Ｍ１に有効なデータがなければ、メモリー装置Ｍ１に直ぐ要請されたデータを格納する。一方、メモリー装置Ｍ１に有効なデータがある場合、メモリー装置Ｍ１に格納されたデータを次のメモリー装置Ｍ２に転送し、メモリー装置Ｍ１に要請されたデータを格納する。もし、メモリー装置Ｍ２にも有効なデータが既にある場合、メモリー装置Ｍ３、Ｍ４に順次にデータが伝達され格納されてよい。
【００７２】
図１０は、本発明の実施形態によるメモリーシステムキュー変化を説明するための図面である。図１０は、プロセッサＰ１〜プロセッサＰ３の要請によるヘッダー情報のキュー変化過程を示す。
【００７３】
例えば、メモリー制御部１００は、プロセッサＰ１〜プロセッサＰ３のうちプロセッサＰ１から命令を受信する（段階Ｓ１０１）。プロセッサＰ１は、プロセスＩＤ、仮想アドレスを指定してメモリー制御部１００に情報を要請できる。
【００７４】
メモリー制御部１００は、プロセッサＰ１から命令が受信される場合、メモリー装置Ｍ１にデータパケットを伝達する。メモリー装置Ｍ１に伝達されたデータパケットには、データとヘッダー情報が含まれる。ヘッダー情報に含まれたキューフィールドは、プロセッサＰ１の要請によってデータビット値が変化されてよい。
【００７５】
すなわち、プロセッサＰ１から読み取りイベントが受信される場合、ヘッダー情報のキューフィールドは「読み取り要請」に設定される（段階Ｓ１０２）。そうすれば、メモリー制御部１００は、メモリー装置Ｍ１にデータの読み取りを要請する。キュー情報が「読み取りデータ」に変更される場合、メモリー装置Ｍ１でデータを読み取りプロセッサＰ１に転送できる（段階Ｓ１０３）。
【００７６】
また、プロセッサＰ１からライトバックイベントが受信される場合、ヘッダー情報のキューフィールドは「ライトバック」に設定される（段階Ｓ１０４）。そうすれば、メモリー装置Ｍ１は、データの格納が可能か否かをチェックするためにヘッダー情報の有効情報を判断する（段階Ｓ１０５）。もし、ヘッダー情報の有効情報を判断し、有効データが既に格納された状態で要請されたデータの格納が不可能な場合、次のメモリー装置（例えば、メモリー装置Ｍ２）に対して新しい「ライトバック」キューを生成する（段階Ｓ１０６）。
【００７７】
本発明が属する技術分野の当業者は、本発明がその技術的思想や必須的特徴を変更せずに他の具体的な形態で実施され得るため、以上で記述した実施形態は全ての面において例示的なものであり、限定的ではないものとして理解しなければならない。本発明の範囲は、詳細な説明よりは後述する特許請求の範囲によって表れるようになり、特許請求の範囲の意味及び範囲、そしてその等価概念から導出される全ての変更又は変形された形態が、本発明の範囲に含まれるものとして解釈されなければならない。
【符号の説明】
【００７８】
１００：メモリー制御部
Ｍ１〜Ｍ４：複数のメモリー装置
【図１】
2020087408.tif 000003
【図２】
2020087408.tif 000004
【図３】
2020087408.tif 000005
【図４】
2020087408.tif 000006
【図５】
2020087408.tif 000007
【図６】
2020087408.tif 000008
【図７】
2020087408.tif 000009
【図８】
2020087408.tif 000010
【図９】
2020087408.tif 000011
【図１０】
2020087408.tif 000012