(57)【要約】【課題】データの性格に基づいて、効率的なメモリ割当及び迅速なデータ処理が可能なコンピュータシステム及びその動作方法を提供すること。【解決手段】本発明の実施形態に係るコンピュータシステムにおいて、データ及び前記データの住所情報を提供するホストと、前記データを格納するメモリシステムとを備え、前記メモリシステムは、少なくとも１つのメモリ装置グループにグループ化された複数のメモリ装置及び前記複数のメモリ装置の各々を制御するコントローラを備え、前記コントローラは、前記データの種類を反映した前記ホストの要請に応じて前記メモリ装置グループを再設定するグループ生成部と、前記データの種類に対応する前記メモリ装置グループにアクセスするプロセッサとを備えることができる。【選択図】図６
2019175427.tif 000002
【特許請求の範囲】
【請求項１】
データ及び前記データの住所情報を提供するホストと、
前記データを格納するメモリシステムと、
を備え、
前記メモリシステムは、
少なくとも１つのメモリ装置グループにグループ化された複数のメモリ装置及び前記複数のメモリ装置の各々を制御するコントローラを備え、
前記コントローラは、
前記データの種類を反映した前記ホストの要請に応じて前記メモリ装置グループを再設定するグループ生成部と、
前記データの種類に対応する前記メモリ装置グループにアクセスするプロセッサと、
を備えるコンピュータシステム。
【請求項２】
前記コントローラは、
前記複数のメモリ装置のそれぞれの状態情報を確認して格納し、前記状態情報に基づいて、前記複数のメモリ装置のうち、バッドメモリ装置を選別する状態確認部をさらに備える請求項１に記載のコンピュータシステム。
【請求項３】
前記状態確認部は、
前記バッドメモリ装置情報を前記ホストに伝達する請求項２に記載のコンピュータシステム。
【請求項４】
前記グループ設定部は、
前記バッドメモリ装置情報に基づいた前記ホストの要請に基づいて、前記メモリ装置グループを再設定する請求項３に記載のコンピュータシステム。
【請求項５】
前記グループ設定部は、
加速化データが格納される第１のメモリ装置グループ及び非加速化データが格納される第２のメモリ装置グループに区分して前記メモリ装置グループを設定する請求項１に記載のコンピュータシステム。
【請求項６】
前記コントローラは、
前記データの種類に対応するメモリ装置グループ内で、前記ホストによって選択されたメモリ装置のメモリブロックを前記データのサイズに基づいて選択するデータ割当部をさらに備える請求項５に記載のコンピュータシステム。
【請求項７】
前記プロセッサは、
前記選択されたメモリブロックに前記データを格納する請求項６に記載のコンピュータシステム。
【請求項８】
前記プロセッサは、
非加速化データの処理より加速化データを優先して処理する加速器を備える請求項５に記載のコンピュータシステム。
【請求項９】
前記加速器は、
ＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）を備える請求項８に記載のコンピュータシステム。
【請求項１０】
コンピュータシステムの動作方法において、
コントローラによって複数のメモリ装置を少なくとも１つのメモリ装置グループにグループ化するステップと、
ホストが前記コントローラにデータ及び前記データの住所情報を提供するステップと、
前記データの種類を反映して、前記メモリ装置グループを設定するようにホストが前記コントローラに要請するステップと、
前記要請に応じて前記メモリ装置グループを再設定するステップと、
前記データの種類を反映して、前記再設定されたメモリ装置グループに前記データをアクセスするステップと、
を含むコンピュータシステムの動作方法。
【請求項１１】
前記複数のメモリ装置のそれぞれの状態情報を確認して格納し、前記状態情報に基づいて、前記複数のメモリ装置のうち、バッドメモリ装置を選別するステップをさらに含む請求項１０に記載のコンピュータシステムの動作方法。
【請求項１２】
前記バッドメモリ装置情報を前記ホストに伝達するステップをさらに含む請求項１１に記載のコンピュータシステムの動作方法。
【請求項１３】
前記メモリ装置グループを設定するステップは、
前記バッドメモリ装置情報に基づいた前記ホストの要請に応じて、前記メモリ装置グループを再設定する請求項１２に記載のコンピュータシステムの動作方法。
【請求項１４】
前記メモリ装置グループを設定するステップは、
加速化データが格納される第１のメモリ装置グループ及び非加速化データが格納される第２のメモリ装置グループに区分して前記メモリ装置グループを設定する請求項１０に記載のコンピュータシステムの動作方法。
【請求項１５】
前記データの種類に対応するメモリ装置グループ内で、前記ホストによって選択されたメモリ装置のメモリブロックを前記データのサイズに基づいて選択するステップをさらに含む請求項１４に記載のコンピュータシステムの動作方法。
【請求項１６】
前記データをアクセスするステップは、
前記選択されたメモリブロックに前記データを書き込む請求項１５に記載のコンピュータシステムの動作方法。
【請求項１７】
前記データをアクセスするステップは、
非加速化データの処理より加速化データを優先して処理する請求項１４に記載のコンピュータシステムの動作方法。
【請求項１８】
メモリシステムにおいて、
少なくとも１つのメモリ装置グループにグループ化された複数のメモリ装置と、
前記複数のメモリ装置の各々を制御するコントローラと、
を備え、
前記コントローラは、
前記データの種類を反映した前記ホストの要請に応じて前記メモリ装置グループを再設定するグループ生成部と、
前記データの種類に対応する前記メモリ装置グループにアクセスするプロセッサと、
を備えるメモリシステム。
【請求項１９】
前記コントローラは、
前記複数のメモリ装置のそれぞれの状態情報を確認して格納し、前記状態情報に基づいて、前記複数のメモリ装置のうち、バッドメモリ装置を選別する状態確認部をさらに備える請求項１８に記載のメモリシステム。
【請求項２０】
前記グループ設定部は、
前記バッドメモリ装置情報に基づいた前記ホストの要請に基づいて前記メモリ装置グループを再設定する請求項１９に記載のメモリシステム。
【請求項２１】
コンピュータシステムにおいて、
複数のメモリ装置を備えるメモリシステムと、
第１種類データを処理するために第１のメモリグループ及び第２種類データを処理するために第２のメモリグループの各々に前記複数のメモリ装置を個別的に割り当てるための第１要請を前記メモリシステムに提供し、
ターゲットデータが第１種類データであるか、あるいは第２種類データであるかに基づいて、前記第１のメモリグループ及び前記第２のメモリグループのうち、前記ターゲットデータが格納されるターゲットメモリグループを選択し、前記ターゲットデータ及び前記ターゲットメモリグループ内のターゲットメモリブロックに対する住所情報を前記メモリシステムに提供するホストと、
を備え、
前記メモリシステムは、
前記第１要請に基づいて、前記第１のメモリグループ及び前記第２のメモリグループ内に複数のメモリ装置を各々割り当て、前記住所情報に基づいて、前記ターゲットメモリブロックに前記データを書き込み、
前記ホストは、アップデートされた前記複数のメモリ装置の状態に基づいて、前記第１のメモリグループ及び前記第２のメモリグループ内の前記複数のメモリ装置を再割当する第２要請を前記メモリシステムに提供するコンピュータシステム。
【請求項２２】
前記第１種類データは加速化データであり、前記第２種類データは非加速化データである請求項２１に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに関し、より具体的には、効率的なデータ処理のためのコンピュータシステム及びその動作方法に関する。
【背景技術】
【０００２】
データは、第４次産業革命時代において企業等のビジネスに最も重要な資産となっており、これにより、大規模データを早く送信及び分析するように支援する最新技術に対する需要が次第に増加している。例えば、人工知能、自律走行、ロボット、ヘルスケア、仮想現実（ｖｉｒｔｕａｌ  ｒｅａｌｉｔｙ、ＶＲ）／拡張現実（ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ、ＡＲ）、スマートホームなどが拡大されるにつれて、サーバやデータセンタに対する需要の増加が予想されている。
【０００３】
レガシ（ｌｅｇａｃｙ）データセンタは、資源等（例えば、コンピュータ、ネットワーク、ストレージ）を１つの装備内に含める構造であった。しかしながら、未来の大容量データセンタは、資源を各々別に構成し、論理的に資源を再構成する構造を有することができる。例えば、大容量データセンタは、資源を各々ラック（ｒａｃｋ）水準でモジュール化し、用途に応じて資源を再構成して供給できる構造を有することができる。したがって、未来の大容量データセンタに使用するのに適した統合型ストレージまたはメモリデバイスが求められている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、データの性格に基づいて、効率的なメモリ割当及び迅速なデータ処理が可能なコンピュータシステム及びその動作方法について提案する。
【課題を解決するための手段】
【０００５】
本発明の実施形態に係るコンピュータシステムにおいて、ターゲットデータ及び前記ターゲットデータの住所情報を提供するホストと、前記ターゲットデータを格納するメモリシステムとを備え、前記メモリシステムは、少なくとも１つのメモリ装置グループにグループ化された複数のメモリ装置及び前記複数のメモリ装置の各々を制御するコントローラを備え、前記コントローラは、前記ホストの要請に応じて前記メモリ装置グループを再設定するグループ生成部及び前記再設定されたメモリ装置グループを反映して、前記ターゲットデータを読み出しあるいは書き込みするプロセッサを備えることができる。
【０００６】
本発明の実施形態に係るコンピュータシステムの動作方法において、コントローラによって複数のメモリ装置を少なくとも１つのメモリ装置グループにグループ化するステップと、前記メモリ装置グループに対してホストが前記コントローラに再設定要請するステップと、前記コントローラによって前記再設定要請に応じて前記メモリ装置グループを再設定するステップと、前記再設定されたメモリ装置グループを反映してターゲットデータを読み出しあるいは書き込みするステップとを含むことができる。
【０００７】
本発明の実施形態に係るメモリシステムにおいて、少なくとも１つのメモリ装置グループにグループ化された複数のメモリ装置及び前記複数のメモリ装置の各々を制御するコントローラを備え、前記コントローラは、前記ホストの要請に応じて前記メモリ装置グループを再設定するグループ生成部及び前記再設定されたメモリ装置グループを反映して前記ターゲットデータを読み出しあるいは書き込みするプロセッサを備えることができる。
【発明の効果】
【０００８】
本発明の実施形態によれば、データ性格及びサイズに基づいて、データが格納されるメモリ装置及びメモリブロックを予め割り当て、迅速にデータを処理でき、全体的なシステムの効率性を増加させることができる。
【図面の簡単な説明】
【０００９】
【図１】データ処理システムを示した図である。
【図２】本発明の実施形態に係るコンピュータラックの構造を概略的に示した図である。
【図３】本発明の実施形態に係るコンピュータラックのブロック構成を示した図である。
【図４】本発明の実施形態に係る演算ボードの構成を示した図である。
【図５】本発明の実施形態に係るメモリボードの構成を示した図である。
【図６】本発明の実施形態に係るコンピュータシステムの構造を概略的に示した図である。
【図７】本発明の実施形態に係るコンピュータシステムの動作を概略的に示したフローチャートである。
【図８】本発明の実施形態に係るコンピュータシステムの動作を概略的に示したフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明に係る好ましい実施形態を添付した図面を参照して詳細に説明する。下記の説明では、本発明に係る動作を理解するのに必要な部分のみが説明され、それ以外の部分の説明は、本発明の要旨を濁さないように省略されるであろうということに留意すべきである。
【００１１】
図１は、データ処理システム１０を示した図である。図１に示すように、データ処理システム１０は、複数のコンピュータラック（ｃｏｍｐｕｔｉｎｇ  ｒａｃｋｓ、２０）と管理インターフェース（ｍａｎａｇｅｍｅｎｔ  ｉｎｔｅｒｆａｃｅ、３０）、そして、これらの間の通信が可能なようにするネットワーク（ｎｅｔｗｏｒｋ、４０）を備えることができる。このようなラックスケール構造（ｒａｃｋ−ｓｃａｌｅ  ａｒｃｈｉｔｅｃｔｕｒｅ）を有するデータ処理システム１０は、大容量データ処理のためのデータセンタなどに使用されることができる。
【００１２】
複数のコンピュータラック２０の各々は、他のコンピュータラック２０との組み合わせで１つのコンピュータシステムを実現できる。このようなコンピュータラック２０の具体的な構成及び動作についての説明は、後述されるであろう。
【００１３】
管理インターフェース３０は、ユーザがデータ処理システム１０を調整、運営、または管理できるようにするインタラクティブインターフェース（ｉｎｔｅｒａｃｔｉｖｅ  ｉｎｔｅｒｆａｃｅ）を提供できる。管理インターフェース３０は、コンピュータ、マルチプロセッサシステム、サーバ、ラックマウント（ｒａｃｋ−ｍｏｕｎｔ）サーバ、ボード（ｂｏａｒｄ）サーバ、ラップトップ（ｌａｐ−ｔｏｐ）コンピュータ、ノートブックコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータシステム、ネットワーク機器、ウェブ機器、分散コンピュータシステム、プロセッサ基盤システム、及び／又は消費者電子機器を備える、任意類型の演算デバイスとして実現されることができる。
【００１４】
一部の実施形態等において、管理インターフェース３０は、コンピュータラック２０により行われることができる演算機能や、管理インターフェース３０により行われることができるユーザインターフェース機能を有する分散システムにより実現されることができる。他の一部の実施形態等において、管理インターフェース３０は、ネットワーク４０を介して分散された多重コンピュータシステムにより構成され、クラウド（ｃｌｏｕｄ）として動作する仮想サーバ（ｖｉｒｔｕａｌ  ｓｅｒｖｅｒ）により実現されることができる。管理インターフェース３０は、プロセッサ、入力／出力サブシステム、メモリ、データストレージデバイス、及び通信回路を備えることができる。
【００１５】
ネットワーク４０は、コンピュータラックと管理インターフェース３０との間及び／又はコンピュータラック間でのデータを送受信できる。ネットワーク４０は、適切な数の様々な有線及び／又は有線ネットワークにより実現されることができる。例えば、ネットワーク４０は、有線または無線ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）セルラネットワーク、及び／又はインターネットのように公開的にアクセス可能なグローバルネットワーク（ｐｕｂｌｉｃｌｙ−ａｃｃｅｓｓｉｂｌｅ、ｇｌｏｂａｌ  ｎｅｔｗｏｒｋ）により実現されるか、これを含むことができる。さらに、ネットワーク４０は、補助的なコンピュータ、ルータ（ｒｏｕｔｅｒ）、及びスイッチ等のような適切な数の補助的なネットワークデバイスを含むことができる。また、ネットワーク４０は、ＣＣＩＸ（Ｃａｃｈｅ  Ｃｏｈｅｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｆｏｒ  ａｃｃｅｌｅｒａｔｏｒｓ）及びＧＥＮ−Ｚのようなインターフェース規格にしたがって連結されることができる。
【００１６】
図２は、本発明の実施形態に係るコンピュータラック構造を概略的に示した図である。
【００１７】
図２に示すように、コンピュータラック２０は、構成要素等の構造、形態、及び呼称などに制限されるものではないが、様々な形態の構成要素を備えることができる。例えば、コンピュータラック２０は、複数のドロワー（ｄｒａｗｅｒ）２１〜２９を備えることができる。複数のドロワー２１〜２９の各々は、複数のボード（ｂｏａｒｄ）を備えることができる。
【００１８】
様々な実施形態において、コンピュータラック２０は、適切な数の演算ボード（ｃｏｍｐｕｔｅ  ｂｏａｒｄ）、メモリボード（ｍｅｍｏｒｙ  ｂｏａｒｄ）、及び／又は相互接続ボード（ｉｎｔｅｒｃｏｎｎｅｃｔ  ｂｏａｒｄ）の組み合わせにより実現されることができる。ここでは、コンピュータラック２０が複数のボードの組み合わせにより実現されることと定義されているが、これに代えて、ドロワー、モジュール、トレイ、ボード、シャシ、またはユニットなどの様々な名前で実現されることと定義され得ることに留意すべきである。このようなコンピュータラック２０の構成要素等は、実現の都合上、機能別に分類及び区別される構造を有することができる。制限されるものではないが、コンピュータラック２０は、上端から相互接続ボード、演算ボード、メモリボードの順序に分類された構造を有することができる。このようなコンピュータラック２０及びこれにより実現されるコンピュータシステムは、「ラックスケールシステム（ｒａｃｋ−ｓｃａｌｅ  ｓｙｓｔｅｍ）」または「分類システム（ｄｉｓａｇｇｒｅｇａｔｅｄ  ｓｙｓｔｅｍ）」として命名されることができる。
【００１９】
様々な実施形態において、コンピュータシステムは、１つのコンピュータラック２０により実現されることができる。これに代えて、コンピュータシステムは、２個以上のコンピュータラックに含まれる全ての構成要素により実現されるか、２個以上のコンピュータラックに含まれる一部の構成要素等の組み合わせにより実現されるか、１つのコンピュータラック２０に含まれる一部の構成要素等により実現されることができる。
【００２０】
様々な実施形態において、コンピュータシステムは、コンピュータラック２０に含まれる適切な数の演算ボード、メモリボード、及び相互接続ボード（ｉｎｔｅｒｃｏｎｎｅｃｔ  ｂｏａｒｄ）の組み合わせにより実現されることができる。例えば、コンピュータシステム２０Ａは、２個の演算ボード、３個のメモリボード、及び１個の相互接続ボードにより実現されることができる。他の例として、コンピュータシステム２０Ｂは、３個の演算ボード、２個のメモリボード、及び１個の相互接続ボードにより実現されることができる。さらに他の例として、コンピュータシステム２０Ｃは、１個の演算ボード、４個のメモリボード、及び１個の相互接続ボードにより実現されることができる。
【００２１】
例え、図２では、コンピュータラック２０が適切な数の演算ボード、メモリボード、及び／又は相互接続ボードの組み合わせにより実現される場合を示しているが、コンピュータラック２０は、通常のサーバなどで確認されることができる、パワーシステム、冷却システム、入力／出力デバイス等のような追加的な構成要素を備えることができる。
【００２２】
図３は、本発明の実施形態に係るコンピュータラック２０のブロック構成を示した図である。
【００２３】
図３に示すように、コンピュータラック２０は、複数の演算ボード（ｃｏｍｐｕｔｅ  ｂｏａｒｄｓ、２００）、複数のメモリボード（ｍｅｍｏｒｙ  ｂｏａｒｄｓ、４００）、及び相互接続ボード（ｉｎｔｅｒｃｏｎｎｅｃｔ  ｂｏａｒｄ、３００）を備えることができる。複数の演算ボード２００は、プール演算ボード（ｐｏｏｌｅｄ  ｃｏｍｐｕｔｅ  ｂｏａｒｄｓ）、プール演算システムなどと呼ばれることができる。同様に、複数のメモリボードは、プールメモリボード（ｐｏｏｌｅｄ  ｍｅｍｏｒｙ  ｂｏａｒｄ）、プールメモリシステムなどと呼ばれることができる。ここでは、コンピュータシステムが複数のボードの組み合わせにより実現されることと定義されているが、これに代えて、ドロワー、モジュール、トレイ、ボード、シャシ、またはユニットなどの様々な名前で実現されることと定義され得ることに留意すべきである。
【００２４】
複数の演算ボード２００の各々は、１つまたはそれ以上のプロセッサ、プロセシング／コントロール回路、または中央処理処置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、ＣＰＵ）のようなプロセシング要素を備えることができる。
【００２５】
複数のメモリボード４００の各々は、複数の揮発性メモリ（ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）及び／又は不揮発性メモリ（ｎｏｎｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）などのような様々な形態のメモリを備えることができる。例えば、複数のメモリボード４００の各々は、複数のＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）、メモリカード、ハードディスクドライブ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ、ＨＤＤ）、ソリッドステートドライブ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ、ＳＳＤ）、及び／又はこれらの組み合わせを含むことができる。
【００２６】
複数のメモリボード４００の各々は、演算ボード２００の各々に含まれる１つ以上のプロセシング要素により分割されるか、割り当てられるか、または指定されて使用されることができる。また、複数のメモリボード４００の各々は、演算ボード２００により初期化及び／又は実行されることができる１つ以上のオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ、ＯＳ）などを格納することができる。
【００２７】
相互接続ボード３００は、演算ボード２００の各々に含まれる１つ以上のプロセシング要素により分割、割当、または指定されて使用されることができる、任意の通信回路、デバイス、またはこれらの組み合わせにより実現されることができる。例えば、相互接続ボード３００は、任意個数のネットワークインターフェースポート、カード、またはスイッチとして実現されることができる。相互接続ボード３００は、通信を実行させるための、１つ以上の有線または有線通信技術等と関連したプロトコルを使用することができる。例えば、相互接続ボード３００は、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）、ＱＰＩ（ＱｕｉｃｋＰａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ）などのようなプロトコルにしたがって演算ボード２００とメモリボード４００との間の通信を支援できる。さらに、相互接続ボード３００は、ＣＣＩＸ（Ｃａｃｈｅ  Ｃｏｈｅｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｆｏｒ  ａｃｃｅｌｅｒａｔｏｒｓ）及びＧＥＮ−Ｚのようなインターフェース規格にしたがって演算ボード２００と連結されることができる。
【００２８】
図４は、本発明の実施形態に係る演算ボード２００の構成を示した図である。
【００２９】
図４に示すように、演算ボード２００は、１つ以上の中央処理処置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、ＣＰＵ、２１０）、１つ以上のローカルメモリ（ｌｏｃａｌ  ｍｅｍｏｒｙ、２２０）、及び入出力（ｉｎｐｕｔ／ｏｕｔｐｕｔ、Ｉ／Ｏ）インターフェース（ｉｎｔｅｒｆａｃｅ、２３０）を備えることができる。
【００３０】
ＣＰＵ（２１０）は、図３に示された複数のメモリボード４００の中で使用するための少なくとも１つのメモリボードを分割、割当、または指定することができる。また、ＣＰＵ（２１０）は、分割、割当、または指定された少なくとも１つのメモリボードを初期化し、これらを介してデータの読み出し動作、書き込み（または、プログラム）動作などを行うことができる。
【００３１】
ローカルメモリ２２０は、ＣＰＵ（２１０）の動作実行中に必要なデータを格納することができる。様々な実施形態において、１つのローカルメモリ２２０は、１つのＣＰＵ（２１０）に一対一に対応する構造を有することができる。
【００３２】
Ｉ／Ｏインターフェース２３０は、図３の相互接続ボード３００を介してのＣＰＵ（２１０）とメモリボード４００との間でのインターフェーシングを支援できる。Ｉ／Ｏインターフェース２３０は、１つ以上の有線または有線通信技術等と関連したプロトコルを使用して、ＣＰＵ（２１０）から相互接続ボード３００への送信データを出力し、相互接続ボード３００からＣＰＵ（２１０）への受信データを入力できる。例えば、Ｉ／Ｏインターフェース２３０は、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）、ＱＰＩ（ＱｕｉｃｋＰａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ）などのようなプロトコルにしたがってＣＰＵ（２１０）と相互接続ボード３００との間の通信を支援できる。さらに、Ｉ／Ｏインターフェース２３０は、ＣＣＩＸ（Ｃａｃｈｅ  Ｃｏｈｅｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｆｏｒ  ａｃｃｅｌｅｒａｔｏｒｓ）及びＧＥＮ−Ｚのようなインターフェース規格にしたがってＣＰＵ（２１０）と相互接続ボード３００との間の通信を支援できる。
【００３３】
図５は、本発明の実施形態に係るメモリボード４００の構成を示した図である。
【００３４】
図５に示すように、メモリボード４００は、コントローラ４１０と複数のメモリ４２０とを備えることができる。複数のメモリ４２０は、コントローラ４１０の制御によってデータを格納（または、書き込み）し、格納されたデータを出力（または、読み出し）することができる。複数のメモリ４２０は、第１のグループのメモリ４２０Ａ、第２のグループのメモリ４２０Ｂ、及び第３のグループのメモリ４２０Ｃを備えることができる。第１のグループのメモリ４２０Ａ、第２のグループのメモリ４２０Ｂ、及び第３のグループのメモリ４２０Ｃは、互いに同じ特性を有することができ、互いに異なる特性を有することもできる。様々な実施形態等において、第１のグループのメモリ４２０Ａ、第２のグループのメモリ４２０Ｂ、及び第３のグループのメモリ４２０Ｃは、格納容量（ｃａｐａｃｉｔｙ）またはレイテンシ（ｌａｔｅｎｃｙ）の側面で互いに異なる特性を有するメモリでありうる。
【００３５】
コントローラ４１０は、データコントローラ（ｄａｔａ  ｃｏｎｔｒｏｌｌｅｒ、５１０）、メモリコントローラ（ｍｅｍｏｒｙ  ｃｏｎｔｒｏｌｌｅｒ、ＭＣ、５２０Ａ−５２０Ｃ）、及びＩ／Ｏインターフェース５３０を備えることができる。
【００３６】
データコントローラ５１０は、図３の演算ボード２００と複数のメモリ４２０との間で送受信されるデータを制御できる。例えば、書き込み要請またはコマンドに応答して、データコントローラ５１０は、演算ボード２００からの書き込みのためのデータを受信し、このデータを複数のメモリ４２０のうち、該当するメモリに書き込む書き込み動作を制御できる。他の例として、読み出し要請またはコマンドに応答して、データコントローラ５１０は、演算ボード２００から複数のメモリ４２０のうち、特定メモリに格納されたデータを読み出し、読み出しデータを演算ボード２００のうち、該当する演算ボードに出力する読み出し動作を制御できる。
【００３７】
メモリコントローラ５２０Ａ〜５２０Ｃは、データコントローラ５１０と複数のメモリ４２０との間に位置し、これらの間でのインターフェーシングを支援できる。メモリコントローラ５２０は、複数のメモリ４２０に含まれる第１のグループのメモリ４２０Ａ、第２のグループのメモリ４２０Ｂ、及び第３のグループのメモリ４２０Ｃの各々に対応するメモリコントローラ（ｉＭＣ０、５２０Ａ）、メモリコントローラ（ｉＭＣ１、５２０Ｂ）、メモリコントローラ（ｉＭＣ２、５２０Ｃ）を備えることができる。メモリコントローラ（ｉＭＣ０、５２０Ａ）は、データコントローラ５１０と第１のグループのメモリ４２０Ａとの間に位置し、これらの間でのデータ送受信を支援できる。メモリコントローラ（ｉＭＣ１、５２０Ｂ）は、データコントローラ５１０と第２のグループのメモリ４２０Ｂとの間に位置し、これらの間でのデータ送受信を支援できる。メモリコントローラ（ｉＭＣ２、５２０Ｃ）は、データコントローラ５１０と第３のグループのメモリ４２０Ｃとの間に位置し、これらの間でのデータ送受信を支援できる。例えば、第３のグループのメモリ４２０Ｃがフラッシュメモリである場合、メモリコントローラ（ｉＭＣ２、５２０Ｃ）は、フラッシュコントローラ（ｆｌａｓｈ  ｃｏｎｔｒｏｌｌｅｒ）でありうる。第１のグループないし第３のグループのメモリ４２０Ａ〜４２０Ｃは、説明の便宜のための例示であり、これに制限されるものではない。
【００３８】
Ｉ／Ｏインターフェース５３０は、図３の相互接続ボード３００を介してのデータコントローラ５１０と演算ボード２００との間でのインターフェーシングを支援できる。Ｉ／Ｏインターフェース５３０は、１つ以上の有線または有線通信技術等と関連したプロトコルを使用して、データコントローラ５１０から相互接続ボード３００への送信データを出力し、相互接続ボード３００からデータコントローラ５１０への受信データを入力できる。例えば、Ｉ／Ｏインターフェース５３０は、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）、ＱＰＩ（ＱｕｉｃｋＰａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ）などのようなプロトコルにしたがってデータコントローラ５１０と相互接続ボード３００との間の通信を支援できる。さらに、Ｉ／Ｏインターフェース５３０は、ＣＣＩＸ（Ｃａｃｈｅ  Ｃｏｈｅｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｆｏｒ  ａｃｃｅｌｅｒａｔｏｒｓ）及びＧＥＮ−Ｚのようなインターフェース規格にしたがってデータコントローラ５１０と相互接続ボード３００との間の通信を支援できる。
【００３９】
前述したように、未来のデータセンタのようなサーバシステムまたはデータ処理システムは、演算ボード、メモリ、またはストレージボードなどのような複数のボードが単位ラック内で区別されて装着される構造を有することができる。このとき、１つのメモリボードには、様々なユーザワークロード（ｕｓｅｒ  ｗｏｒｋｌｏａｄ）を充足させるために、互いに異なる特性を有する複数のメモリが含まれ得る。すなわち、１つのメモリボードは、ＤＲＡＭ、ＰＣＲＡＭ、ＭＲＡＭ、ＳＴＴ−ＲＡＭ、フラッシュメモリのような複数のメモリが統合された形態を有する統合メモリデバイス（ｃｏｎｖｅｒｇｅｎｃｅ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）でありうる。このような統合メモリデバイスは、各メモリが互いに異なる特性を有するので、様々な使用モデル（ｕｓａｇｅ  ｍｏｄｅｌ）に活用されることができる。
【００４０】
図６は、本発明の実施形態に係るコンピュータシステム６００の構造を概略的に示した図である。本発明の実施形態に係るコンピュータシステム６００は、図２において説明されたコンピュータシステムと対応することができる。
【００４１】
コンピュータシステム６００は、ホスト６１０及びメモリシステム６３０を備えることができる。
【００４２】
ホスト６１０は、図３及び図４において説明された少なくとも１つ以上の演算ボード２００及び相互接続ボード３００を備えることができる。
【００４３】
ホスト６１０は、加速化判断部６１７を備えることができる。加速化判断部６１７は、処理対象となるターゲットデータの性格に基づいて、当該ターゲットデータが加速化データであるか、非加速化データであるか判断することができる。加速化データとは、迅速な処理を要するデータである。逆に、非加速化データは、迅速な処理を要しないデータである。迅速な処理を要する基準は、ユーザが設定できる。例えば、ターゲットデータに対する読み出し（Ｒｅａｄ）回数が予め設定された閾値より大きい場合、加速化判断部６１７は、当該ターゲットデータを加速化データとして判断することができる。さらに他の例を挙げれば、ターゲットデータが接近した回数が予め設定された閾値より大きい場合、加速化判断部６１７は、ターゲットデータが加速化データであると判断することができる。ただし、これは、実施形態に該当し、これに制限されるものではない。
【００４４】
加速化判断部６１７が、ターゲットデータが加速化データであるか、あるいは非加速化データであるか判断し、ホスト６１０は、加速化判断部６１７の判断に基づいて、ターゲットデータが格納されるメモリ装置のグループを選択できる。さらには、ホスト６１０は、選択されたメモリ装置グループ内の複数のメモリ装置のうち、ターゲットデータが格納されるメモリ装置をターゲットデータに対応する住所情報に基づいて選択することができる。すなわち、メモリ装置グループが、加速化データが格納される第１のメモリ装置グループ６６７及び非加速化データが格納される第２のメモリ装置グループ６６９に区分された場合、ターゲットデータが加速化データであれば、ホスト６１０は、ターゲットデータが格納されるメモリ装置グループとして第１のメモリ装置グループ６６７を選択でき、さらには、ホスト６１０は、第１のメモリ装置グループに含まれたメモリ装置をターゲットデータに対応する住所情報に基づいて選択することができる。
【００４５】
また、ホスト６１０は、以下において説明される複数のメモリ装置の各々に対応する住所情報及び状態情報を格納できるキャッシュメモリ６１３を備えることができる。そして、ホスト６１０は、周期的に複数のメモリ装置のそれぞれの住所情報及び状態情報をアップデートできる。キャッシュメモリ６１３は、図４において説明された地域メモリ２２０と対応することができる。
【００４６】
上記のように、ホスト６１０は、複数のメモリシステムの各々に対してデータを分割、割当、または指定することができる。
【００４７】
メモリシステム６３０は、図５において説明されたメモリボード２００と対応することができる。メモリシステム６３０は、コントローラ６３３及び複数のメモリ装置で構成されたメモリ装置プール６３５を備えることができる。図６には、１つのメモリシステム６３０が図示されているが、これは、１つの例示であり、これに制限されるものではない。
【００４８】
コントローラ６３３は、図５において説明されたコントローラ４１０と対応することができる。
【００４９】
コントローラ６３３は、ホストインターフェース６５１、データ割当部６５３、状態確認部６５５、グループ設定部６５７、プロセッサ６５９、及びメモリインターフェース６６３を備えることができる。
【００５０】
ホストインターフェース６５１は、図５において説明されたＩ／Ｏインターフェース５３０と対応することができる。ホストインターフェース６５１は、ホスト６１０のコマンド及びデータを処理し、様々なインターフェースプロトコルのうち、少なくとも１つを介してホスト６１０と通信するように構成されることができる。例えば、図５において説明されたように、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）、ＱＰＩ（ＱｕｉｃｋＰａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ）などのようなプロトコルにしたがってホスト６１０との通信を支援できる。
【００５１】
データ割当部６５３は、ホスト６１０から伝達されたデータのサイズを判断できる。さらには、データ割当部６５３は、メモリ装置プール６３５内の複数のメモリ装置のそれぞれの様々な格納容量を有するメモリブロックの住所情報を格納できる。それにより、データ割当部６５３は、データサイズ及び住所情報に基づいて、当該データが格納されるメモリブロックを選択できる。例えば、ターゲットデータが加速化データであり、ターゲットデータのサイズが８０ＫＢであり、ターゲットデータがプログラムされるメモリ装置に８０ＫＢサイズを有するメモリブロック及び４０ＫＢサイズのメモリブロックが存在すると仮定する。データ割当部６５３は、ホスト６１０により選択された第１のメモリ装置グループ６６７内のメモリ装置に含まれたメモリブロックのうち、８０ＫＢと同じであるか、大きい容量を有したメモリブロックを選択できる。したがって、データ割当部６５３は、前記８０ＫＢサイズを有するメモリブロックに対応する住所情報に基づいて、当該メモリブロックを選択できる。ただし、８０ＫＢサイズのメモリブロックが存在しないならば、データ割当部６５３は、複数の４０ＫＢサイズを有するメモリブロックに対応する住所情報に基づいて複数のメモリブロックを選択できる。上記のように、データ割当部６５３は、データの量によってメモリブロックを効率的に管理して、データが格納され得る容量を容易に確保することができる。また、データ割当部６５３の動作によって、メモリブロックのサイクリング回数が減少され得るので、メモリセルのストレスが減少され得るし、これにより、メモリ装置プール６３５に含まれた複数のメモリ装置の信頼度が改善され得る。
【００５２】
状態確認部６５５は、周期的にメモリ装置プール６３５内に含まれた複数のメモリ装置のそれぞれの状態を確認して、状態情報として格納することができる。具体的に、状態情報は、複数のメモリ装置の各々に含まれたメモリブロックのイレースカウント、エラーカウント、読み出しカウントを含むことができる。状態確認部６５５は、複数のメモリ装置の各々に対応するイレースカウント、エラーカウント、読み出しカウントをホスト６１０から伝達されるコマンドに基づいてカウントすることができる。例えば、ホスト６１０が特定メモリ装置に含まれた特定メモリブロックに対してイレースコマンドをイシューした場合、当該メモリブロックに対するイレース動作が行われることとは別に、状態確認部６５５は、当該メモリブロックに対するイレースコマンドに基づいて１回カウントすることができる。さらには、状態確認部６５５は、複数のメモリ装置の各々に含まれた複数のメモリブロックの各々に対応するイレースカウントを格納できる。さらに、状態確認部６５５は、イレースカウントの各々を対応する複数のメモリ装置の各々に格納することができる。今後、状態確認部６５５が複数のメモリ装置の各々に含まれた複数のメモリブロックの各々に対応するイレースカウントを確認するとき、状態確認部６５５は、状態確認部６５５に格納されているイレースカウント及び複数のメモリ装置の各々に格納されているイレースカウントを介して複数のメモリ装置の各々に含まれた複数のメモリブロックの各々に対応するイレースカウントを確認できる。
【００５３】
そして、状態確認部６５５は、状態情報に基づいて複数のメモリ装置のうち、バッドメモリ装置（ｂａｄ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）を検出できる。例えば、複数のメモリ装置の各々は、１００個のメモリブロックを備えており、イレースカウントが「１０」回以上の値を有するメモリブロックがバッドメモリブロック（ｂａｄ  ｍｅｍｏｒｙ  ｂｌｏｃｋ）と仮定し、「６０」個以上のバッドメモリブロックが含まれたメモリ装置はバッドメモリ装置と仮定する。このとき、状態確認部６５５は、イレースカウントに基づいて、複数のメモリ装置の各々に含まれたバッドメモリブロックの個数を確認できる。仮りに、特定のメモリ装置が「１０」回以上のイレースカウント値を有するメモリブロックを「６０」個以上含むならば、状態確認部６５５は、当該メモリ装置をバッドメモリ装置として検出することができる。
【００５４】
さらには、状態確認部６５５は、選別されたバッドメモリ装置に関する情報（以下、バッドメモリ装置情報）をホスト６１０に伝達することができ、ホスト６１０は、バッドメモリ装置の情報を伝達されてキャッシュメモリ６１３に格納されたバッドメモリ装置情報をアップデートすることができる。バッドメモリ装置情報は、当該メモリ装置のＩＤ情報を含むことができる。
【００５５】
グループ設定部６５７は、ホスト６１０要請に基づいて、メモリ装置プール６３５内のメモリ装置グループを設定できる。具体的に、グループ設定部６５７は、メモリ装置プール６３５内の複数のメモリ装置に対して加速化データが格納される第１のメモリ装置グループ６６７及び非加速化データが格納される第２のメモリ装置グループ６６９に区分して設定することができる。
【００５６】
さらには、グループ設定部６５７は、ホスト６１０の要請に応じて既存に設定されたメモリ装置グループを可変して再設定することができる。例えば、ホスト６１０が状態確認部６５５から伝達されたバッドメモリ装置情報に基づいて、第１のメモリ装置グループ６６７に含まれたバッドメモリ装置を第２のメモリ装置グループ６６９に変更するようにメモリ装置グループに対する再設定を要請した場合、グループ設定部６５７は、ホスト６１０要請に応じて当該バッドメモリ装置を第２のメモリ装置グループ６６９に含まれるようにメモリ装置グループを再設定できる。また、加速化データに対する処理要請が多い場合、グループ設定部６５７は、メモリ装置プール６３５全体を加速化データだけを格納できるようにメモリ装置グループを設定できる。
【００５７】
グループ設定部６５７は、メモリシステム６３０がブーティングされる当時だけでなく、メモリシステム６３０が動作する途中にもメモリ装置グループを設定できる。
【００５８】
プロセッサ６５９は、ターゲットデータをメモリ装置プール６３５内の複数のメモリ装置に対して読み出しあるいは書き込みすることができる。プロセッサ６５９は、ホスト６１０で選択されたメモリ装置グループによって異なるようにデータを処理できる。仮りに、ターゲットデータが加速化データであれば、プロセッサ６５９は、第１のメモリ装置グループ６６７に含まれたメモリ装置に対して読み出しあるいは書き込みすることができる。それに対し、ターゲットデータが非加速化データであれば、プロセッサ６５９は、第２のメモリ装置グループ６６９に含まれたメモリ装置に対して読み出しあるいは書き込みすることができる。
【００５９】
さらには、プロセッサ６５９は、非加速化データの処理より加速化データの処理に優先権を付与できる加速器６６１を備えることができる。加速器６６１は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を備えることができ、加速器６６１は、ＤＭＡを介してターゲットデータを早く処理することができる。具体的に、加速器６６１は、第１のメモリ装置グループ６６７に含まれた複数のメモリ装置のそれぞれのメモリマップを格納することができる。したがって、加速器６６１は、ＤＭＡに格納された第１のメモリ装置グループ６６７に含まれた複数のメモリ装置のそれぞれのメモリマップに基づいてターゲットデータを直接処理することができる。すなわち、コントローラ６３３が管理する別のメモリマップをスキャンしなくても、加速器６６１は、ＤＭＡに含まれたメモリマップを活用してターゲットデータを早く処理することができる。さらには、ＤＭＡは、全てのデータ送信が終了されれば、ホスト６１０に割り込み信号を送信できる。したがって、加速器６６１は、当該加速化データを先に選択されたメモリブロックに基づいてプログラムすることができる。さらには、加速器６６１は、ＣＡＩＡ（Ｃｏｈｅｒｅｎｔ  Ａｃｃｅｌｅｒａｔｏｒ  Ｉｎｔｅｒｆａｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ）を利用できる。ＣＡＩＡは、標準ＰＣＩｅバスを使用して加速器６６１をコンピュータシステム６００に一貫して連結するためのインターフェース構造である。
【００６０】
メモリインターフェース（以下、メモリＩ／Ｆ、６６３）は、コントローラ６３３とメモリ装置プール６３５との間でのインターフェーシングを支援できる。例えば、メモリＩ／Ｆ（６６３）は、コントローラ６３３とメモリ装置プール６３５との間でのデータ送受信を支援できる。また、メモリＩ／Ｆ（６６３）は、ＰＣＩｅ、ＤＩＭＭ（Ｄｕｅｌ  ｉｎ−ｌｉｎｅ  ｍｅｍｏｒｙ  ｍｏｄｕｌｅ）、ＮＶＤ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ＤＩＭＭ）などのようなプロトコルにしたがってコントローラ６３３とメモリ装置プール６３５との間の通信を支援できる。さらには、メモリ装置プール６３５が互いに異なる種類の複数のメモリ装置で構成されても、メモリＩ／Ｆ（６６３）は、一種のプロトコル、例えば、ＤＩＭＭＥで構成されることができる。
【００６１】
メモリ装置プール６３５は、複数のメモリ装置を備えることができる。複数のメモリ装置は、図５において説明された複数のメモリ４２０と対応することができる。メモリ装置プール６３５内の複数のメモリ装置は、ＰＣＲＡＭ、ＤＲＡＭ、ＮＡＮＤ、ＳＴＴ−ＭＲＡＭ、ＲｅＲＡＭなどで構成されることができる。
【００６２】
前述したように、メモリ装置プール６３５は、グループ設定部６５７によって第１のメモリ装置グループ６６７と第２のメモリ装置グループ６６９とに区分されることができる。また、メモリ装置プール６３５に含まれた複数のメモリ装置は、種類が互いに異なることができる。例えば、メモリ装置プール６３５は、複数のＤＲＡＭと複数のＰＣＲＡＭとで構成されることができる。仮りに、メモリ装置プール６３５が３０個のＤＲＡＭと７０個のＰＣＲＡＭとで構成されているならば、前述した第１のメモリ装置グループ６６７は、２０個のＤＲＡＭで構成され、第２のメモリ装置グループ６６９は、１０個のＤＲＡＭ及び７０個のＰＣＲＡＭで構成されることができる。さらに他の例として、第１のメモリ装置グループ６６７は、３０個のＤＲＡＭ及び１０個のＰＣＲＡＭで構成され、第２のメモリ装置グループ６６９は、６０個のＰＣＲＡＭで構成されることができる。これは、１つの実施形態であり、これに制限されるものではない。
【００６３】
図７は、本発明の一実施形態に係るコンピュータシステム６００の動作を概略的に示したフローチャートである。
【００６４】
まず、ステップＳ７０１において、図６において説明されたように、加速化判断部６１７は、ターゲットデータが加速化データであるか、あるいは非加速化データであるか判断することができる。
【００６５】
仮りに、ターゲットデータが加速化データであれば（ステップＳ７０１において「Ｙｅｓ」）、ステップＳ７０３において、ホスト６１０は、ターゲットデータを格納するために、第１のメモリ装置グループ６６７を選択することができる。
【００６６】
それに対し、ターゲットデータが非加速化データであれば（ステップＳ７０１において「Ｎｏ」）、ステップＳ７０５において、ホスト６１０は、ターゲットデータを格納するために、第２のメモリ装置グループ６６９を選択することができる。
【００６７】
さらには、ステップＳ７０７において、ホスト６１０は、ターゲットデータに対応する住所情報に基づいてメモリ装置を選択することができる。例えば、ターゲットデータが加速化データである場合、ホスト６１０は、第１のメモリ装置グループ６６７内でターゲットデータに対応する住所情報に基づいてメモリ装置を選択できる。それに対し、ターゲットデータが非加速化データである場合、ホスト６１０は、第２のメモリ装置グループ６６９内でターゲットデータに対応する住所情報に基づいてメモリ装置を選択できる。
【００６８】
ステップＳ７０１〜ステップＳ７０７までの動作は、ホスト６１０によって行われることができる。
【００６９】
そして、ステップＳ７０９において、ホスト６１０は、コントローラ６３３にターゲットデータを伝達できる。
【００７０】
それから、ステップＳ７１１において、データ割当部６５３は、ターゲットデータのサイズを判断できる。さらには、図６において説明されたように、データ割当部６５３は、ターゲットデータのサイズに基づいて、前記選択されたメモリ装置のメモリブロックを選択できる。
【００７１】
ステップＳ７１３において、プロセッサ６５９は、ターゲットデータを前記選択されたメモリ装置のメモリブロックにプログラムすることができる。例えば、ターゲットデータが加速化データである場合、プロセッサ６５９は、第１のメモリ装置グループ６６７内の選択されたメモリ装置の少なくとも１つ以上のメモリブロックに前記ターゲットデータをプログラムすることができる。それに対し、ターゲットデータが非加速化データであれば、プロセッサ６５９は、第２のメモリ装置グループ６６９内の選択されたメモリ装置の少なくとも１つ以上のメモリブロックに前記ターゲットデータをプログラムすることができる。
【００７２】
図８は、本発明の一実施形態に係るコンピュータシステム６００の動作を概略的に示したフローチャートである。具体的に、図８は、メモリ装置プール６３５を調節するコンピュータシステム６００の動作を示したフローチャートである。
【００７３】
ステップＳ８０１において、状態確認部６５５は、周期的にメモリ装置プール６３５内の複数のメモリ装置のそれぞれの状態を確認できる。さらには、状態確認部６５５は、メモリ装置プール６３５内の複数のメモリ装置のそれぞれの状態情報をメモリＩ／Ｆ（６６３）を介して伝達されることができる。
【００７４】
ステップＳ８０３において、状態確認部６５５は、受信された状態情報に基づいて、図６において説明されたように、バッドメモリ装置を検出できる。
【００７５】
ステップＳ８０５において、状態確認部６５５は、検出されたバッドメモリ装置に関する情報をホストＩ／Ｆ（６５１）を介してホスト６１０に知らせることができる。
【００７６】
ステップＳ８０７において、ホスト６１０は、状態確認部６５５から伝達されたバッドメモリ装置情報に基づいて、メモリ装置グループ、すなわち、メモリ装置プール６３５内のメモリ装置グループを再設定するためのコントローラ６３３に要請することができる。例えば、ホスト６１０は、第１のメモリ装置グループ６６７に含まれたバッドメモリ装置を第２のメモリ装置グループ６６９に属するようにメモリ装置グループを調節するようにコントローラ６３３に要請することができる。さらに、ホスト６１０が自体的に判断して、データの処理量によってメモリ装置グループを調節するために要請することができる。さらに他の例を挙げれば、持続的に加速化データのみを処理しなければならない場合、ホスト６１０は、メモリ装置プール６３５全体を第１のメモリ装置グループ６６７に活用するようにコントローラ６３３に要請することができる。
【００７７】
ステップＳ８０９において、前記ホスト６１０の要請に基づいて、グループ設定部６５７は、メモリ装置グループを再設定できる。例えば、グループ設定部６５７は、第１のメモリ装置グループ６６７及び第２のメモリ装置グループ６６９の範囲を設定できる。さらには、図面に図示されてはいないが、グループ設定部６５７は、メモリ装置グループを設定した後、当該事実をホスト６１０に知らせることができ、ホスト６１０は、前記設定事実を伝達されて複数のメモリ装置のそれぞれの住所情報をアップデートすることができる。
【００７８】
本発明に係るコンピュータシステムは、ホスト６１０から入力されるデータの量を判断して、当該データ量により格納するメモリ装置及びメモリブロックを設定し、ホスト６１０から入力されるデータの性格によって加速化可否を判断して、加速化あるいは非加速化して設定された領域に格納することにより、メモリの格納効率及び処理速度を向上させることができる。
【００７９】
一方、本発明の詳細な説明では、具体的な実施形態に関して説明したが、本発明の範囲から逸脱しない限度内で様々な変形が可能であることはもちろんである。したがって、本発明の範囲は、説明された実施形態に限定されて決められてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なものなどにより決められるべきである。
【図１】
2019175427.tif 000003
【図２】
2019175427.tif 000004
【図３】
2019175427.tif 000005
【図４】
2019175427.tif 000006
【図５】
2019175427.tif 000007
【図６】
2019175427.tif 000008
【図７】
2019175427.tif 000009
【図８】
2019175427.tif 000010