JP2020113256A - メモリシステム及びデータ処理システム - Google Patents

メモリシステム及びデータ処理システム Download PDF

Info

Publication number
JP2020113256A
JP2020113256A JP2019212571A JP2019212571A JP2020113256A JP 2020113256 A JP2020113256 A JP 2020113256A JP 2019212571 A JP2019212571 A JP 2019212571A JP 2019212571 A JP2019212571 A JP 2019212571A JP 2020113256 A JP2020113256 A JP 2020113256A
Authority
JP
Japan
Prior art keywords
memory
data
training
host
characteristic data
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.)
Pending
Application number
JP2019212571A
Other languages
English (en)
Inventor
沈應輔
Eung-Bo Shim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of JP2020113256A publication Critical patent/JP2020113256A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2268Logging of test results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】データ処理システムをブーティングする際、複数のメモリユニットを感知し、これらのそれぞれの動作モードを設定し、メモリトレーニングを行う時間を短縮させ得る。【解決手段】データ処理システム100は、ホスト110と、複数のメモリユニット170及び複数のメモリユニット170と連結されるコントローラ150を備えるメモリシステム130とを備え、コントローラ150(150a,150b,150c)は、電源が供給されれば、複数のメモリユニット170(170a,170b,170c)のSPD(Serial Presence Detect)構成要素から特性データを取得し、特性データをホスト110に提供し、特性データに基づいて複数のメモリユニット170の各々の動作モードを設定し、メモリトレーニングを行うメモリ管理部を備え、ホスト110は、コントローラ150とのインターフェーストレーニングを行う。【選択図】図1

Description

本発明は、メモリシステム、前記メモリシステムを含むデータ処理システムに関する。
データは、4次産業革命時代において企業等のビジネスに最も重要な資産となっており、これに、大規模データを速く送信及び分析するように支援する最新技術に対する需要が次第に増加している。例えば、人工知能、自律走行、ロボット、ヘルスケア、仮想現実(virtual reality、VR)/拡張現実(augmented reality、AR)、スマートホームなどが拡大されるにつれて、サーバやデータセンタに対する需要の増加が予想されている。
レガシ(legacy)データセンタは、資源(例;コンピューティング、ネットワーキング、ストレージ)を1つの装備内に含める構造であった。しかしながら、未来の大容量データセンタは、資源を各々別個に構成し、論理的に資源を再構成する構造を有することができる。例えば、大容量データセンタは、資源を各々ラック(rack)水準でモジュール化し、用途に応じて資源を再構成して供給できる構造を有することができる。したがって、未来の大容量データセンタに使用するのに適した統合型ストレージまたはメモリデバイスが求められている。
未来の大容量データセンタに使用され得る統合型ストレージは、複数のメモリユニットを備えることができる。レガシデータセンタのように、ホストがストレージ資源、すなわち、複数のメモリユニットを全て感知し、これらのそれぞれの動作モードを設定し、メモリトレーニングを行うならば、データセンタのブーティングの際、ホストの処理負担が増加し、ブーティング時間が長くなる恐れがある。
データ処理システムのブーティングの際、複数のメモリユニットを感知し、これらのそれぞれの動作モードを設定し、メモリトレーニングを行う時間を短縮させ得るメモリシステム、前記メモリシステムを含むデータ処理システム、及び前記データ処理システムの動作方法を提供しようとする。
様々な実施形態等は、データ処理システムのブーティング動作中に複数のメモリユニットをスキャニングし、前記メモリユニットの動作モードを設定し、メモリトレーニングを行うのに必要な時間を減らすメモリシステム、前記メモリシステムを含むデータ処理システム、及び前記データ処理システムの動作方法と関連する。
本発明の一実施形態に係るデータ処理システムは、ホストと、複数のメモリユニット及び前記複数のメモリユニットと連結されるコントローラを備えるメモリシステムとを備え、前記コントローラは、電源が供給されれば、前記複数のメモリユニットに含まれたSPD構成要素(Serial Presence Detect component)から特性データを取得し、前記特性データをホストに提供し、前記特性データに基づいて前記複数のメモリユニットの動作モードを設定し、メモリトレーニングを行うメモリ管理部を各々備え、前記ホストは、前記コントローラとインターフェーストレーニングを行う。
本発明の一実施形態によれば、複数のメモリユニットを備えるメモリシステム及びホストを含むデータ処理システムの動作方法は、電源が供給されれば、前記メモリシステムが前記複数のメモリユニットの各々に含まれたSPD構成要素から特性データを取得するステップと、前記メモリシステムが前記特性データを前記ホストに提供するステップと、前記メモリシステムが前記特性データに基づいて前記複数のメモリユニットのそれぞれの動作モードを設定し、メモリトレーニングを行うステップと、前記ホストが前記メモリシステムとのインターフェーストレーニングを行うステップとを含む。
本発明の一実施形態に係るメモリシステムは、複数のメモリユニットと、前記複数のメモリユニットと連結されるコントローラを備えるメモリシステムとを備え、前記コントローラは、電源が供給されれば、前記複数のメモリユニットの各々に含まれたSPD構成要素から特性データを取得し、前記特性データをホストに提供し、前記特性データに基づいて前記メモリユニットの動作モードを設定し、メモリトレーニングを行うメモリ管理部を備える。
本発明の一実施形態に係るデータ処理システムは、ホストと、メモリプール及び前記メモリプールに連結されたコントローラグループを備えるメモリシステムとを備え、前記メモリプールは、複数のメモリグループを含み、各メモリグループは、複数のメモリユニットを備え、複数のメモリユニットの各々は、特性データを格納するためのSPD構成要素を含み、前記コントローラの各々は、対応するメモリグループに連結され、前記コントローラの各々は、メモリ管理部を備え、前記メモリ管理部は、電源が供給されれば、対応するメモリグループのSPD構成要素から特性データを得るために、前記対応するメモリグループをスキャニングし、前記取得された特性データに基づいて、前記対応するメモリグループのメモリトレーニングを行い、前記特性データ及び前記対応するメモリグループのメモリユニットの前記メモリトレーニングに関連した情報をホストに提供し、前記ホストは、前記特性データ及び前記情報に基づいて前記コントローラとインターフェーストレーニングを行い、前記対応するメモリグループのメモリユニットのために、データ入出力テストを行う。
データ処理システムのブーティングの際、複数のメモリユニットを感知し、これらのそれぞれの動作モードを設定し、メモリトレーニングを行う時間を短縮させ得るメモリシステム、前記メモリシステムを含むデータ処理システム、及び前記データ処理システムの動作方法を提供できる。
本発明の実施形態に係るデータ処理システムの構造を示す図である。 本発明の一実施形態に係るデータ処理システムに含まれたメモリシステムの構造を示す図である。 本発明の一実施形態に係るデータ処理システムの動作を示すフローチャートである。 本発明の一実施形態に係るデータ処理システムに含まれたメモリシステムの構造を示す図である。 本発明の一実施形態に係るデータ処理システムの動作を示すフローチャートである。 本発明の一実施形態に係るデータ処理システムの構造を示す図である。 本発明の一実施形態に係るデータ処理システムの構造を示す図である。 本発明の一実施形態に係るデータ処理システムの構造を示す図である。
添付された図面を参照して様々な実施形態が詳細に説明される。しかし、本発明の態様及び特徴は、ここに説明された実施形態と異なるように配列されるか、構成されることができる。したがって、本発明は、開示された実施形態に制限されない。
1つの構成要素が他の構成要素に「連結された」または「結合された」ことと言及されるとき、前記2つの構成要素は、他の構成要素に直接にまたは間接に連結されるか、結合される。間接的な連結または結合の場合に、1つ以上の他の構成要素が前記2つの構成要素間に介入され得る。
以下、添付された図面を参照して本発明の様々な実施形態を詳細に説明する。次の説明は、本発明の態様及び特徴に焦点を合わせ、本発明の要旨を曖昧にしないために、公知された主題についての説明は省略されることができる。
明細書の全体にわたって、「一実施形態」、「他の実施形態」などの言及が必ずしも1つの実施形態を指すものではなく、そのような文句に対する他の言及が必ずしも同じ実施形態を指すものではない。
本明細書において使用されたように、単数の表現は、文脈上、明白に異なるように表示しない限り、複数の表現を含むことができる。本出願及び添付された請求の範囲に使用されたように、「a」、「an」は、異なるように明示されるか、文脈上、明白に単数型で指示されない限り、一般的に「1つ以上」を意味することと解釈されなければならない。
以下、図面を参照して本発明の実施形態についてより具体的に説明する。
図1は、本発明の実施形態に係るデータ処理システム100の構造を示す図である。
図1に示すように、データ処理システム100は、ホスト110及びメモリシステム130を備えることができる。
ホスト110は、バイオス(BIOS、Basic Input/Output System)112及び入出力インターフェース114を備えることができる。
バイオス112は、データ処理システム100に電源が供給されれば、ホスト110に連結された周辺装置を感知できる。
入出力インターフェース114は、ホスト110とメモリシステム130との間のインターフェーシングを支援できる。入出力インターフェース114は、1つ以上の有線または有線通信技術等と関連したプロトコルを使用して、ホスト110からメモリシステム130に提供されるデータを出力し、メモリシステム130からホスト110に受信されるデータを入力できる。例えば、入出力インターフェース114は、PCIe(Peripheral Component Interconnect Express)、QPI(QuickPath Interconnect)、イーサネット(登録商標)(Ethernet)などのようなプロトコルにしたがってホスト110とメモリシステム130との間の通信を支援できる。他の例として、入出力インターフェース114は、CCIX(Cache Coherent Interconnect for accelerators)及びGEN−Zのようなインターフェース規格によってホスト110とメモリシステム130との間の通信を支援できる。入出力インターフェース114は、ホスト110に含まれた入出力ポート、プロセシング資源、及びメモリ資源として実現されることができる。
メモリシステム130は、複数のメモリユニットを備えるメモリプール170及びメモリプール170を制御する1つ以上のコントローラを備えるコントローラグループ150を備えることができる。
一実施形態において、メモリシステム130は、様々なユーザワークロード(user workload)を充足させるために、互いに異なる特性を有するメモリユニットを備えることができる。すなわち、1つのメモリシステム130は、DRAM、PCRAM、MRAM、STT−RAM、フラッシュメモリのような複数のメモリが統合された形態を有する統合メモリデバイス(convergence memory device)でありうる。このような統合メモリデバイスは、各メモリが互いに異なる特性を有するので、様々な使用モデル(usage model)に活用されることができる。
本発明の一実施形態において、メモリプール170に含まれた複数のメモリユニットは、同種メモリユニット同士にグループ化されることができる。図1は、前記複数のメモリユニットが第1のメモリグループ170a、第2のメモリグループ170b、第3のメモリグループ170cにグループ化された場合を例示する。第1のメモリグループ170aは、第1種類のメモリユニットを備え、第2のメモリグループ170bは、第2種類のメモリユニットを備え、第3のメモリグループ170cは、第3種類のメモリユニットを備えることができ、第1、第2、及び第3のグループは、互いに異なることができる。
一方、前記複数のメモリユニットの各々は、SPD構成要素(Serial Presence Detect Component)を含むことができる。各メモリユニットのSPD構成要素は、対応するメモリユニットの種類のような情報を含むことができる。そして、前記SPD構成要素は、前記メモリユニット内部のメモリ装置の種類、動作タイミング情報、容量情報、製造情報などの特性データ情報を格納できる。SPD構成要素は、メモリシステム110の電源供給が中断された場合にも、内部に格納されたデータを維持しなければならないので、不揮発性メモリ装置、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)で構成されることができる。
1つ以上のコントローラは、自分と電気的に連結されたメモリユニットとホスト110との間でデータ送受信を制御できる。それぞれのコントローラは、プロセッサ、メモリ、及び入出力ポートを備えることができる。前記プロセッサは、マイクロプロセッサまたは中央処理装置(CPU)などで実現されることができる。前記メモリは、コントローラの動作メモリであって、前記コントローラの駆動のためのデータを格納できる。
一実施形態において、複数のメモリユニットは、1つのコントローラと電気的に連結されることができる。例えば、第1のコントローラ150aは、第1のメモリグループ170aのメモリユニットと連結されることができる。第1のコントローラ150aは、ホスト110と第1のメモリグループ170aのメモリユニットとの間でデータ送受信を制御できる。同様に、第2のコントローラ150bは、ホスト110と第2のメモリグループ170bのメモリユニットとの間でデータ送受信を制御し、第3のコントローラ150cは、ホスト110と第3のメモリグループ170cのメモリユニットとの間でデータ送受信を制御できる。
ホスト110のバイオス112は、メモリシステム130を感知し、入出力インターフェース114のクロックトレーニングのようなインターフェーストレーニングを行うことができる。
本発明の一実施形態によれば、メモリシステム130のコントローラグループ150の1つ以上のコントローラがメモリプール170の複数のメモリユニットを感知し、これらの動作モードを設定し、メモリトレーニングを行うので、ホスト110の処理負担が減少しうる。そして、前記1つ以上のコントローラが複数のメモリユニットを感知し、これらの動作モードを設定し、メモリトレーニングを行う間、バイオス112は、他のブーティング動作を行うことができるので、データ処理システム100のブーティング性能が向上し得る。
また、前記1つ以上のコントローラは、並列に動作して各々異なるメモリグループの特性データを取得し、メモリトレーニングを行うので、データ処理システム100のブーティング時間が短くなりうる。その上、前記1つ以上のコントローラが各々同種メモリユニットの特性データを取得し、メモリトレーニングを行うので、異種の複数のメモリユニット170を備えるメモリシステム130のデータ処理複雑度が減少しうる。
図2は、一実施形態に係るデータ処理システム100に含まれたメモリシステム130の構造を概略的に示した図である。
図2は、メモリシステム130に含まれた第1のコントローラ150a及び第1のコントローラ150aと連結された第1のメモリグループ170aのメモリユニットのみを概略的に図示する。
第1のコントローラ150aは、入出力インターフェース152a、メモリ管理部154a、及びメモリコントローラ156aを備えることができる。
入出力インターフェース152aは、ホスト110と第1のコントローラ150aとの間のインターフェーシングを支援できる。
入出力インターフェース152aは、1つ以上の有線または無線通信技術等と関連したプロトコルを使用して、第1のコントローラ150aから受信されるデータをホスト110に提供し、ホスト110から受信されるデータをメモリ管理部154a及びメモリコントローラ156aに提供することができる。例えば、入出力インターフェース152aは、PCIe(Peripheral Component Interconnect Express)、QPI(QuickPath Interconnect)、イーサネット(登録商標)(Ethernet)などのような様々なプロトコルにしたがってホスト110と第1のコントローラ150aとの間の通信を支援できる。その上、入出力インターフェース152aは、CCIX(Cache Coherent Interconnect for accelerators)及びGEN−Zのようなインターフェース規格によってホスト110とコントローラ150aとの間の通信を支援できる。
メモリコントローラ156aは、第1のコントローラ150aと第1のメモリグループ170aのメモリユニットとの間のインターフェーシングを支援できる。メモリコントローラ156aと第1のメモリグループ170aのメモリユニットとの各々は、コマンド、アドレス、データをやりとりするためのインターフェース(Interface)と電気的に連結されることができる。そして、メモリコントローラ156aは、各メモリユニットのSPD構成要素とチップ・ツー・チップインターフェース(C2CI)、例えば、SMBus(System Management Bus)、SPI(Serial Peripheral Interface)、I2C(Inter−Integrated Circuit)、I3C(Improved Inter−Integrated Circuit)などを介して電気的に連結されることができる。
一実施形態において、メモリ管理部154aは、メモリシステム130に電源が供給されれば、メモリコントローラ156aを介して第1のメモリグループ170aのメモリユニットのそれぞれの特性データをSPD構成要素から取得することにより、前記メモリユニットを感知できる。
メモリ管理部154aは、前記取得した特性データに基づいてこれらの動作モードを設定し、第1のコントローラ150aと各メモリユニットとの間のメモリチャネルを最適化するメモリトレーニングを行うことができる。
例えば、メモリ管理部154aは、メモリユニットのそれぞれの動作モードをバースト長、バーストタイプ、CASレイテンシ、テストモード、DLLリセットなどのような様々な動作モードに設定することができる。そして、メモリ管理部154aは、メモリコントローラ156aが書き込み/読み出しレベリング(Write/Read Leveling)、アドレストレーニング、及びクロックトレーニングを行うように制御することができる。
メモリ管理部154aは、前記取得した特性データを入出力インターフェース152aを介してホスト110に提供することができる。
第2のコントローラ150b及び第3のコントローラ150cの構造は、第1のコントローラ150aの構造と対応することができる。
図3は、本発明の一実施形態に係るデータ処理システム100の動作を示すフローチャートである。
データ処理システム100に含まれたホスト110及びメモリシステム130に電源が供給され得る。メモリシステム130に電源が供給されれば、ステップS302においてコントローラグループ150の1つ以上のコントローラは、チップ・ツー・チップインターフェース(C2CI)、例えば、SMBus(System Management Bus)、SPI(Serial Peripheral Interface)、I2C(Inter−Integrated Circuit)、I3C(Improved Inter−Integrated Circuit)等を介して自分と電気的に連結されたメモリユニットのSPD構成要素から特性データを取得できる。
一実施形態において、前記1つ以上のコントローラの各々が同種メモリユニットを感知することにより、メモリシステム130は、互いに異なる特性を有する複数のメモリユニット170を感知できる。
ステップS304において、前記1つ以上のコントローラは、前記特性データをホスト110に提供することができる。
例えば、ホスト110のバイオス112は、ホスト110と電気的に連結された第1のコントローラ150aを感知できる。バイオス112は、第1のコントローラ150aとデータ入出力を行うことができるように、入出力インターフェース114の初期トレーニングを行うことができる。ホスト110は、前記初期トレーニングが完了すれば、メモリ管理部154aから第1のメモリグループ170aのメモリユニットの特性データを取得できる。
すなわち、バイオス112が個別メモリユニットのSPD構成要素にアクセスしなくても、ホスト110が前記1つ以上のコントローラから複数のメモリユニット170の特性データを取得することにより、ホスト110に連結されたメモリユニットのそれぞれの種類、各メモリユニットのメモリ装置等の種類、動作タイミング情報、容量情報、製造情報などを取得できる。
一実施形態において、前記1つ以上のコントローラは、自分と連結されたメモリユニットの特性データをテーブルフォーマットでホスト110に提供することができる。前記テーブルフォーマットは、メモリユニットの種類、前記メモリユニット内部に含まれたメモリ装置等の種類情報、動作タイミング情報、容量情報、製造情報などをフィールドとして含むことができる。
ステップS306において、前記1つ以上のコントローラは、前記SPD構成要素から取得された特性データに基づいて自分と電気的に連結されたメモリユニットのそれぞれの動作モードを設定できる。そして、それぞれのコントローラは、前記SPD構成要素から取得された特性データに基づいて、前記コントローラと各メモリユニットとの間のメモリトレーニングを行うことができる。
一実施形態において、前記1つ以上のコントローラが自分と電気的に連結された同種メモリユニットのトレーニングを行うことができる。したがって、複数のコントローラは、各々互いに異なる種類のメモリユニットのトレーニングを行うことができる。結論として、メモリシステム130は、メモリプール170に含まれた、互いに異なる特性を有する複数のメモリユニットのメモリトレーニングを行うことができる。
一実施形態において、前記1つ以上のコントローラは、トレーニングが終わった後、前記動作モード設定データと前記メモリトレーニング結果データとを格納することができる。メモリ管理部154が動作モード設定データとメモリトレーニング結果データとを格納する実施形態は、図4〜図5を参照してより具体的に説明される。
ステップS308において、ホスト110は、入出力インターフェース114のファイン(fine)トレーニング、例えば、インターフェーストレーニングを行うことができる。
例えば、ホスト110は、第1のコントローラ150aの入出力インターフェース152aを介して第1のメモリグループ170aのメモリユニットとデータ入出力動作を行うために、入出力インターフェース114のクロックなどを微細調整することができる。
前記1つ以上のコントローラが自分と電気的に連結されたメモリユニットとメモリトレーニングを完了し、ホスト110が入出力インターフェース114のトレーニングを完了すれば、ホスト110は、メモリプール170の複数のメモリユニットの各々にデータ入出力動作を行うことができる。したがって、バイオス112が前記複数のメモリユニットのそれぞれのメモリトレーニングを行わないことができる。
ステップS310において、ホスト110は、前記複数のメモリユニットの各々に読み出し及び書き込みコマンドを提供することにより、ホスト110と各メモリユニットとの間のデータ入出力動作をテストできる。
そして、ホスト110は、ステップS302〜ステップS310が完了すれば、前記1つ以上のコントローラから受信した特性データに基づいて複数のメモリユニット170のうち、少なくともいずれか1つのメモリユニットを割り当てることができる。そして、前記ホスト110は、前記割り当てられた少なくとも1つのメモリユニットにデータを格納することができる。
前述した本発明の一実施形態によれば、データ処理システム100のブーティングの際、ホスト110の処理負担が減少し得る。そして、コントローラグループ150の1つ以上のコントローラがメモリプール170の複数のメモリユニットを感知し、動作モードを設定し、メモリトレーニングを行う間、ホスト110は、他のブーティング動作を行うことができるので、データ処理システム100のブーティング時間が減ることができる。
図4は、本発明の一実施形態に係るデータ処理システム100に含まれたメモリシステム130の構造を概略的に示した図である。
図4は、メモリシステム130に含まれた第1のコントローラ150a及び第1のコントローラ150aと電気的に連結された第1のメモリグループ170aのみを概略的に図示する。
一実施形態において、第1のコントローラ150aは、入出力インターフェース152a、メモリ管理部154a、メモリコントローラ156aだけでなく、メモリ管理部154aと電気的に連結される不揮発性メモリ装置158aをさらに備えることができる。一実施形態において、不揮発性メモリ装置158aは、第1のコントローラ150aの内部に含まれることができる。それとも、不揮発性メモリ装置158aは、第1のコントローラ150aの外部におり、第1のコントローラ150aと電気的に連結されることもできる。
一実施形態において、不揮発性メモリ装置158aは、メモリ管理部154aが第1のメモリグループ170aのメモリユニットのSPD構成要素から取得した特性データを格納できる。そして、不揮発性メモリ装置158aは、第1のメモリグループ170aのメモリユニットのそれぞれの動作モード設定データ及びメモリトレーニング結果データを格納できる。一実施形態において、不揮発性メモリ装置158aは、第1のメモリグループ170aのメモリユニットのそれぞれの特性データ、動作モード設定データ、及びメモリトレーニング結果データを互いに連関させて格納することができる。
第2のコントローラ150b及び第3のコントローラ150cの構造は、第1のコントローラ150aの構造と対応することができる。すなわち、第2のコントローラ150b及び第3のコントローラ150cも特性データ、動作モード設定データ、及びメモリトレーニング結果データを格納するための不揮発性メモリ装置を備えることができる。一方、不揮発性メモリ装置が各コントローラの内部に含まれるか、外部にあるかとは関係なく、前記不揮発性メモリ装置は、各コントローラと連関することと理解されることができる。したがって、以下では、1つ以上のコントローラのそれぞれの内部に、対応する不揮発性メモリ装置が含まれたことと説明される。
一実施形態において、1つ以上のコントローラは、メモリシステム130に電源が供給されれば、各々自分と電気的に連結されたメモリユニットのSPD構成要素から特性データを取得できる。そして、前記1つ以上のコントローラは、前記複数のメモリユニットの各々が既存にメモリシステム130に含まれたことがあるメモリユニットであるか否かを判断するために、前記特性データと内部不揮発性メモリ装置に格納された特性データとを比較できる。前記判断結果に基づいて、前記1つ以上のコントローラは、内部不揮発性メモリ装置に格納された動作モード設定データ及びメモリトレーニング結果データを使用することにより、既存メモリユニット及び当該メモリユニットと電気的に連結されたコントローラ間の動作モード設定及びメモリトレーニングを速く完了することができる。
図5は、本発明の一実施形態に係るデータ処理システム100の動作を示すフローチャートである。
図5に示すように、データ処理システム100に電源が供給されれば、ステップS502においてコントローラグループ150の1つ以上のコントローラは、メモリプール170の複数のメモリユニットのSPD構成要素から特性データを取得することにより、前記複数のメモリユニットの各々を感知できる。
ステップS504において、前記1つ以上のコントローラは、前記特性データをホスト110に提供することができる。ステップS504を行うために、バイオス112は、予め入出力インターフェース114の初期トレーニングを完了できる。
ステップS506において、前記1つ以上のコントローラは、内部不揮発性メモリ装置に格納された特性データとSPD構成要素から取得した特性データとが一致するのか判断することができる。
各メモリユニットの特性データは、前記不揮発性メモリ装置に格納された特性データと一致することができ、一致しないこともできる。特性データが一致するメモリユニットは、既存にメモリシステム130に含まれたことがあるメモリユニットでありうる。特性データが一致しないメモリユニットは、メモリシステム130に含まれたことがない新しいメモリユニットでありうる。
前記メモリユニットの特性データが前記不揮発性メモリ装置に格納された特性データと一致すると判断された場合(ステップS506において、「はい」)、前記1つ以上のコントローラは、ステップS508〜ステップS510を行うことができる。
具体的に、前記不揮発性メモリ装置は、データ処理システム100に電源が供給される以前に、当該メモリユニットの特性データと連関した動作モードデータ及びメモリトレーニング結果データを格納していることができる。
したがって、ステップS508において前記1つ以上のコントローラは、自分と電気的に連結されたメモリユニットのうち1つのメモリユニットの動作モード設定データ及びメモリトレーニング結果データを内部不揮発性メモリ装置から取得することができる。前記メモリユニットは、前記不揮発性メモリ装置に格納された特性データと一致する特性データを有することができる。
ステップS510において、前記1つ以上のコントローラは、前記動作モード設定データ及びメモリトレーニング結果データを使用することにより、動作モード設定及びメモリトレーニングにかかる時間を減らすことができる。
前記メモリユニットの特性データが前記不揮発性メモリ装置に格納された特性データと一致しないと判断された場合(ステップS506において、「いいえ」)、前記1つ以上のコントローラは、ステップS512及びステップS514を行うことができる。
具体的に、前記不揮発性メモリ装置は、当該メモリユニットの特性データ及び当該メモリユニットのメモリトレーニング結果データを格納していないであろう。
したがって、ステップS512において前記1つ以上のコントローラは、自分と電気的に連結されたメモリユニットのうち1つのメモリユニットのSPD構成要素から取得された特性データに基づいて当該メモリユニットの動作モードを設定し、当該メモリユニットのメモリトレーニングを行うことができる。前記SPD構成要素から取得された特性データは、前記不揮発性メモリ装置に格納された特性データと一致しないことができる。
ステップS514において、前記1つ以上のコントローラは、前記設定された動作モード設定データとメモリトレーニング結果データとを内部不揮発性メモリ装置に格納することができる。
ステップS516において、ホスト110は、入出力インターフェース114のファイン(fine)トレーニング、例えば、インターフェーストレーニングを行うことができる。
ステップS518において、ホスト110は、メモリプール170の各メモリユニットに読み出し及び書き込みコマンドを提供することにより、データ入出力テストを行うことができる。
ホスト110は、ステップS502〜S518が完了すれば、前記1つ以上のコントローラから受信した特性データに基づいて複数のメモリユニット170のうち、少なくともいずれか1つのメモリユニットを割り当ててデータを格納することができる。
本発明の一実施形態によれば、データ処理システム100のブーティングの際、ホスト110の処理負担が減少し得る。そして、前記1つ以上のコントローラは、メモリユニットのメモリトレーニング結果データを格納することで、既存にメモリシステム130のメモリユニットのメモリトレーニングを速く行うことにより、データ処理システム100のブーティング時間を減らすことができる。
前述したデータ処理システム100が適用されたサーバシステム、例えば、ラックスケール構造を有するデータ処理システム10が図6〜図8において説明される。
図6は、データ処理システム10を示す図である。
図6に示すように、データ処理システム10は、複数のコンピューティングラック(computing racks、20)と管理インターフェース(management interface、30)、そして、これらの間の通信が可能なようにするネットワーク(network、40)を備えることができる。このようなラックスケール構造を有するデータ処理システム10は、大容量データ処理のためのデータセンタなどに使用されることができる。
複数のコンピューティングラック20の各々は、他のコンピューティングラック20との組み合わせで1つのコンピューティングシステムを実現できる。このようなコンピューティングラック20等の具体的な構成及び動作についての説明は後述する。
管理インターフェース30は、ユーザがデータ処理システム10を調整、運営、または管理できるようにするインタラクティブインターフェース(interactive interface)を提供できる。管理インターフェース30は、コンピュータ、マルチプロセッサシステム、サーバ、ラックマウント(rack−mount)サーバ、ボード(board)サーバ、ラップトップ(lap−top)コンピュータ、ノートブックコンピュータ、タブレットコンピュータ、ウェアラブルコンピューティングシステム、ネットワーク機器、ウェブ機器、分散コンピューティングシステム、プロセッサ基盤システム、及び/又は消費者電子機器を備える、任意類型の演算デバイスとして実現されることができる。
一部の実施形態において、管理インターフェース30は、コンピューティングラック20により行なわれることができる演算機能や、管理インターフェース30により行なわれることができるユーザインターフェース機能を有する分散システムにより実現されることができる。他の一部の実施形態において、管理インターフェース30は、ネットワーク40を介して分散された多重コンピューティングシステムにより構成され、クラウド(cloud)として動作する仮想サーバ(virtual server)により実現されることができる。管理インターフェース30は、プロセッサ、入力/出力サブシステム、メモリ、データストレージデバイス、及び通信回路を備えることができる。
ネットワーク40は、コンピューティングラックと管理インターフェース30との間及び/又はコンピューティングラック間でのデータを送受信できる。ネットワーク40は、適切な数の様々な有線及び/又は有線ネットワークにより実現されることができる。例えば、ネットワーク40は、有線または無線LAN(local area network)、WAN(wide area network)セルラネットワーク、及び/又はインターネットのように、公開的にアクセス可能なグローバルネットワーク(publicly−accessible、global network)により実現されるか、これを含むことができる。追加的に、ネットワーク40は、補助的なコンピュータ、ルータ(router)、及びスイッチのような適切な数の補助的なネットワークデバイスを備えることができる。また、ネットワーク40は、CCIX(Cache Coherent Interconnect for accelerators)及びGEN−Zのようなインターフェース規格によって連結されることができる。
図7は、本発明の実施形態に係るコンピューティングラック構造を概略的に示す図である。
図7に示すように、コンピューティングラック20は、構成要素等の構造、形態、及び呼称などに制限されるものではないが、様々な形態の構成要素を含むことができる。例えば、コンピューティングラック20は、複数のドロワ(drawer)21〜29を備えることができる。複数のドロワ21〜29の各々は、複数のボード(board)を備えることができる。
様々な実施形態において、コンピューティングラック20は、適切な数の演算ボード(compute board)、メモリボード(memory board)、及び/又は相互接続ボード(interconnect board)の組み合わせにより実現されることができる。ここでは、コンピューティングラック20が複数のボードの組み合わせにより実現されることと定義されているが、これに代えて、ドロワ、モジュール、トレイ、ボード、シャシ、またはユニットなどの様々な名前で実現されることと定義され得ることに留意しなければならない。このようなコンピューティングラック20の構成要素等は、実現の都合上、機能別に分類及び区別される構造を有することができる。制限されるものではないが、コンピューティングラック20は、上端から相互接続ボード、演算ボード、メモリボードの順に分類された構造を有することができる。このようなコンピューティングラック20及びこれにより実現されるコンピューティングシステムは、「ラック−スケールシステム(rack−scale system)」または「分類システム(disaggregated system)」と命名されることができる。
様々な実施形態において、コンピューティングシステムは、1つのコンピューティングラック20により実現されることができる。これに代えて、コンピューティングシステムは、2個以上のコンピューティングラックに含まれる全ての構成要素により実現されるか、2個以上のコンピューティングラックに含まれる一部構成要素等の組み合わせにより実現されるか、1つのコンピューティングラック20に含まれる一部構成要素等により実現されることができる。
様々な実施形態において、コンピューティングシステムは、コンピューティングラック20に含まれる適切な数の演算ボード、メモリボード、及び相互接続ボード(interconnect board)の組み合わせにより実現されることができる。例えば、コンピューティングシステム20Aは、2個の演算ボード、3個のメモリボード、及び1個の相互接続ボードにより実現されることができる。他の例として、コンピューティングシステム20Bは、3個の演算ボード、2個のメモリボード、及び1個の相互接続ボードにより実現されることができる。さらに他の例として、コンピューティングシステム20Cは、1個の演算ボード、4個のメモリボード、及び1個の相互接続ボードにより実現されることができる。
例えば、図7では、コンピューティングラック20が適切な数の演算ボード、メモリボード、及び/又は相互接続ボードの組み合わせにより実現される場合を図示しているが、コンピューティングラック20は、通常のサーバなどで確認されることができる、パワーシステム、冷却システム、入力/出力デバイス等のような追加的な構成要素を含むことができる。
図8は、本発明の実施形態に係るコンピューティングラック20のブロック構成を示す図である。
図8に示すように、コンピューティングラック20は、複数の演算ボード(compute boards、200)、複数のメモリボード(memory boards、400)、及び相互接続ボード(interconnect board、300)を備えることができる。複数の演算ボード200は、プールド演算ボード(pooled compute boards)、プールド演算システムなどと呼ばれることができる。同様に、複数のメモリボードは、プールドメモリボード(pooled memory board)、プールドメモリシステムなどと呼ばれることができる。ここでは、コンピューティングシステムが複数のボードの組み合わせにより実現されることと定義されているが、これに代えて、ドロワ、モジュール、トレイ、ボード、シャシ、またはユニットなどの様々な名前で実現されることと定義され得ることに留意しなければならない。
複数の演算ボード200の各々は、1つまたはそれ以上のプロセッサ、プロセシング/コントロール回路、または中央処理装置(central processing unit、CPU)のようなプロセシング要素を含むことができる。図1を参照して説明されたホスト110は、演算ボード200に対応することができる。
複数のメモリボード400の各々は、複数の揮発性メモリ(volatile memory)及び/又は不揮発性メモリ(nonvolatile memory)のような様々な形態のメモリを備えることができる。例えば、複数のメモリボード400の各々は、複数のDRAM(Dynamic Random Access Memory)、フラッシュメモリ(flash memory)、メモリカード、ハードディスクドライブ(hard disk drive、HDD)、ソリッドステートドライブ(solid state drive、SSD)、及び/又はこれらの組み合わせを含むことができる。
図1〜図5を参照して説明されたメモリシステム130は、それぞれのメモリボード400に対応することができる。本発明の一実施形態によれば、各メモリボード400は、内部に含まれた複数のメモリユニットの特性データを取得して演算ボード200に提供することができる。各メモリボード400は、前記特性データに基づいて内部に含まれた複数のメモリユニットの動作モードを設定できる。各メモリボード400は、内部のコントローラと前記複数のメモリユニットの各々の間のメモリトレーニングを行うことができる。各メモリボード400は、前記特性データ、動作モード設定データ、及びメモリトレーニング結果データを内部の不揮発性メモリ装置に格納することができる。
演算ボード200は、相互接続ボード300のインターフェーストレーニングを完了すれば、前記個別メモリユニットにデータ入出力を行うことができる。例えば、演算ボード200は、前記特性データに基づいて各メモリボード400に含まれたメモリユニットのうち、少なくとも1つのメモリユニットを割り当ててデータを格納できる。
本発明の一実施形態によれば、コンピューティングラック20のブーティング動作の際、演算ボード200の処理負担が減少し、コンピューティングラック20のブーティング性能が向上し得る。
複数のメモリボード400の各々は、演算ボード200の各々に含まれる1つ以上のプロセシング要素により分割されるか、割り当てられるか、または指定されて使用されることができる。また、複数のメモリボード400の各々は、演算ボード200により初期化及び/又は実行され得る1つ以上のオペレーティングシステム(operating system、OS)を格納できる。
相互接続ボード300は、演算ボード200の各々に含まれる1つ以上のプロセシング要素により分割、割当、または指定されて使用されることができる、任意の通信回路、デバイス、またはこれらの組み合わせにより実現されることができる。例えば、相互接続ボード300は、任意個数のネットワークインターフェースポート、カード、またはスイッチとして実現されることができる。相互接続ボード300は、通信を実行させるための、1つ以上の有線または有線通信技術等と関連したプロトコルを使用できる。例えば、相互接続ボード300は、PCIe(Peripheral Component Interconnect Express)、QPI(QuickPath Interconnect)、イーサネット(登録商標)(Ethernet)などのようなプロトコルにしたがって演算ボード200とメモリボード400との間の通信を支援できる。その上、相互接続ボード300は、CCIX(Cache Coherent Interconnect for accelerators)及びGEN−Zのようなインターフェース規格によって演算ボード200と連結されることができる。
一方、本発明の詳細な説明では、具体的な実施形態に関して説明したが、本発明の範囲から逸脱しない限度内で様々な変形が可能であることはもちろんである。したがって、本発明の範囲は、説明された実施形態に限定されて決められてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なもの等により決められなければならない。
110 ホスト
130 メモリシステム
170 メモリプール

Claims (12)

  1. ホストと、
    複数のメモリユニット及び前記複数のメモリユニットと連結されるコントローラを備えるメモリシステムと、
    を備え、
    前記コントローラは、
    電源が供給されれば、前記複数のメモリユニットのSPD構成要素(Serial Presence Detect component)から特性データを取得し、前記特性データをホストに提供し、前記特性データに基づいて前記複数のメモリユニットの各々の動作モードを設定し、メモリトレーニングを行うメモリ管理部を備え、
    前記ホストは、
    前記コントローラとインターフェーストレーニングを行うデータ処理システム。
  2. 前記コントローラは、
    前記特性データ、前記動作モードを設定することと関連した動作モード設定データ、及び前記メモリトレーニングの結果を表すメモリトレーニング結果データを格納する不揮発性メモリ装置をさらに含む請求項1に記載のデータ処理システム。
  3. 前記メモリ管理部は、
    前記複数のメモリユニットのうち、前記不揮発性メモリ装置に格納された特性データと前記対応するSPD構成要素から取得された特性データとが一致するメモリユニットの前記動作モード設定データ及びトレーニング結果データを前記不揮発性メモリ装置から取得し、前記動作モード設定データに基づいて前記メモリユニットの動作モードを設定し、前記トレーニング結果データに基づいて前記メモリユニットのメモリトレーニングを行う請求項2に記載のデータ処理システム。
  4. 前記ホストは、
    前記複数のメモリユニットとのデータ入出力テストをさらに行う請求項1に記載のデータ処理システム。
  5. 前記メモリシステムは、
    前記コントローラと前記複数のメモリユニットのそれぞれのSPD構成要素との間の通信を支援するチップ・ツー・チップインターフェースをさらに備える請求項1に記載のデータ処理システム。
  6. 前記メモリ管理部は、
    前記特性データをメモリユニットの種類、前記メモリユニット内部のメモリ装置等の種類、動作タイミング情報、容量情報、及び製造情報をフィールドとして含むテーブルフォーマットで前記ホストに提供する請求項1に記載のデータ処理システム。
  7. 複数のメモリユニットと、
    前記複数のメモリユニットと連結されるコントローラを備えるメモリシステムと、
    を備え、
    前記コントローラは、
    電源が供給されれば、前記複数のメモリユニットのSPD構成要素から特性データを取得し、前記特性データをホストに提供し、前記特性データに基づいて前記複数のメモリユニットの各々の動作モードを設定し、メモリトレーニングを行うメモリ管理部を備えるメモリシステム。
  8. 前記コントローラは、
    前記特性データ、前記動作モードを設定することと関連した動作モード設定データ、及び前記メモリトレーニングの結果を表すメモリトレーニング結果データを格納する不揮発性メモリ装置をさらに含む請求項7に記載のメモリシステム。
  9. 前記メモリ管理部は、
    前記不揮発性メモリ装置に格納された特性データと前記対応するSPD構成要素から取得された特性データとが一致するメモリユニットの前記動作モード設定データ及びトレーニング結果データを前記不揮発性メモリ装置から取得し、前記動作モード設定データに基づいて前記メモリユニットの動作モードを設定し、前記トレーニング結果データに基づいて前記メモリユニットのメモリトレーニングを行う請求項8に記載のメモリシステム。
  10. 前記コントローラと複数のメモリユニットの各々のSPD構成要素との間の通信を支援するチップ・ツー・チップインターフェースをさらに備える請求項7に記載のメモリシステム。
  11. 前記メモリ管理部は、
    前記特性データをメモリユニットの種類、前記メモリユニット内部に含まれたメモリ装置等の種類、動作タイミング情報、容量情報、及び製造情報をフィールドとして含むテーブルフォーマットで前記ホストに提供する請求項7に記載のメモリシステム。
  12. データ処理システムにおいて、
    ホストと、
    メモリプール及び前記メモリプールに連結されたコントローラグループを備えるメモリシステムと、
    を備え、
    前記メモリプールは、複数のメモリグループを備え、各メモリグループは、複数のメモリユニットを備え、複数のメモリユニットの各々は、特性データを格納するためのSPD構成要素を含み、前記コントローラの各々は、対応するメモリグループに連結され、
    前記コントローラの各々は、メモリ管理部を備え、前記メモリ管理部は、電源が供給されれば、対応するメモリグループのSPD構成要素から特性データを得るために、前記対応するメモリグループをスキャニングし、
    前記取得された特性データに基づいて前記対応するメモリグループのメモリトレーニングを行い、
    前記特性データ及び前記対応するメモリグループのメモリユニットの前記メモリトレーニングに関連した情報をホストに提供し、
    前記ホストは、前記特性データ及び前記情報に基づいて前記コントローラとインターフェーストレーニングを行い、前記対応するメモリグループのメモリユニットのために、データ入出力テストを行うデータ処理システム。
JP2019212571A 2019-01-15 2019-11-25 メモリシステム及びデータ処理システム Pending JP2020113256A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0005161 2019-01-15
KR1020190005161A KR20200088634A (ko) 2019-01-15 2019-01-15 메모리 시스템, 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법

Publications (1)

Publication Number Publication Date
JP2020113256A true JP2020113256A (ja) 2020-07-27

Family

ID=71516356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019212571A Pending JP2020113256A (ja) 2019-01-15 2019-11-25 メモリシステム及びデータ処理システム

Country Status (4)

Country Link
US (1) US11221931B2 (ja)
JP (1) JP2020113256A (ja)
KR (1) KR20200088634A (ja)
CN (1) CN111435337B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886702B2 (en) 2021-02-03 2024-01-30 Micron Technology, Inc. Speed bins to support memory compatibility

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024517B1 (en) 2001-09-27 2006-04-04 Emc Corporation System and method for configuring data storage in accordance with workload requirements
US20040054776A1 (en) 2002-09-16 2004-03-18 Finisar Corporation Network expert analysis process
JP4267420B2 (ja) 2003-10-20 2009-05-27 株式会社日立製作所 ストレージ装置及びバックアップ取得方法
KR20050033060A (ko) 2005-03-17 2005-04-08 (주)제타스톰 네트워크를 이용한 핫 스페어 구성 시스템 및 방법
US7644148B2 (en) 2005-05-16 2010-01-05 Hewlett-Packard Development Company, L.P. Historical data based workload allocation
US8627029B2 (en) 2007-03-08 2014-01-07 Sandisk Il Ltd. Methods for managing files according to application
US20080309349A1 (en) 2007-06-15 2008-12-18 Computer Access Technology Corporation Flexible interposer system
US8670971B2 (en) 2007-07-31 2014-03-11 Hewlett-Packard Development Company, L.P. Datacenter workload evaluation
JP2009238114A (ja) 2008-03-28 2009-10-15 Hitachi Ltd ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム
US7971013B2 (en) 2008-04-30 2011-06-28 Xiotech Corporation Compensating for write speed differences between mirroring storage devices by striping
JP5108667B2 (ja) 2008-07-23 2012-12-26 株式会社日立製作所 リモートコピーシステム、及びリモートサイトの省電力化方法
WO2010064286A1 (ja) 2008-12-01 2010-06-10 富士通株式会社 制御回路、情報処理装置及び情報処理装置の制御方法
JP5326673B2 (ja) 2009-03-06 2013-10-30 富士通株式会社 制御回路、情報処理装置及び情報処理装置の制御方法
US20100325372A1 (en) * 2009-06-17 2010-12-23 Housty Oswin E Parallel training of dynamic random access memory channel controllers
WO2011002438A1 (en) 2009-06-29 2011-01-06 Hewlett-Packard Development Company, L.P. Organizing and managing a memory blade with super pages and buffers
US20110041005A1 (en) 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US8839032B2 (en) 2009-12-08 2014-09-16 Hewlett-Packard Development Company, L.P. Managing errors in a data processing system
JP5368285B2 (ja) 2009-12-11 2013-12-18 株式会社日立製作所 計算機システム、計算機リソースの管理方法及びプログラム
US8938582B2 (en) 2010-07-01 2015-01-20 Infinidat Ltd. Storage systems with reduced energy consumption
JP2012094030A (ja) 2010-10-28 2012-05-17 Hitachi Ltd 計算機システム及び処理制御方法
KR20120085968A (ko) * 2011-01-25 2012-08-02 삼성전자주식회사 컴퓨팅 시스템의 부팅 방법 및 이를 수행하는 컴퓨팅 시스템
US8775988B2 (en) 2011-06-01 2014-07-08 International Business Machines Corporation Decentralized dynamically scheduled parallel static timing analysis
TWI581267B (zh) 2011-11-02 2017-05-01 諾瓦晶片加拿大公司 快閃記憶體模組及記憶體子系統
US9128662B2 (en) 2011-12-23 2015-09-08 Novachips Canada Inc. Solid state drive memory system
US8996765B2 (en) 2011-12-27 2015-03-31 Intel Corporation Methods and apparatus to manage workload memory allocation
US8954698B2 (en) 2012-04-13 2015-02-10 International Business Machines Corporation Switching optically connected memory
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
US9442854B2 (en) 2012-11-15 2016-09-13 Elwha Llc Memory circuitry including computational circuitry for performing supplemental functions
US9110592B2 (en) 2013-02-04 2015-08-18 Microsoft Technology Licensing, Llc Dynamic allocation of heterogenous memory in a computing system
US9294263B2 (en) 2014-01-02 2016-03-22 Advanced Micro Devices, Inc. Methods and systems of synchronizer selection
US9678797B2 (en) 2014-03-10 2017-06-13 Microsoft Technology Licensing, Llc Dynamic resource management for multi-process applications
CN103902474B (zh) 2014-04-11 2017-02-08 华中科技大学 一种支持固态盘缓存动态分配的混合存储系统和方法
US20160055058A1 (en) 2014-08-19 2016-02-25 Hongzhong Zheng Memory system architecture
KR101644712B1 (ko) 2014-12-15 2016-08-02 한국과학기술원 블록 단위 연접 비씨에이치 부호의 성능을 향상시키는 오류 정정 방법 및 복호 방법
US9535606B2 (en) 2014-12-22 2017-01-03 Intel Corporation Virtual serial presence detect for pooled memory
US9886285B2 (en) * 2015-03-31 2018-02-06 Western Digital Technologies, Inc. Communication interface initialization
US10025747B2 (en) * 2015-05-07 2018-07-17 Samsung Electronics Co., Ltd. I/O channel scrambling/ECC disassociated communication protocol
KR20160144560A (ko) 2015-06-08 2016-12-19 삼성전자주식회사 호스트에 의해 접근되는 오류 정보를 생성하는 불휘발성 메모리 모듈, 스토리지 장치, 및 전자 장치
KR102449193B1 (ko) 2015-12-04 2022-09-29 삼성전자주식회사 버퍼를 포함하는 메모리 패키지, 확장 가능한 메모리 모듈 및 멀티-모듈 메모리 시스템
US10311236B2 (en) * 2016-11-22 2019-06-04 Advanced Micro Devices, Inc. Secure system memory training
KR20180083975A (ko) * 2017-01-13 2018-07-24 삼성전자주식회사 트레이닝 동작을 수행하는 메모리 시스템
US11003381B2 (en) 2017-03-07 2021-05-11 Samsung Electronics Co., Ltd. Non-volatile memory storage device capable of self-reporting performance capabilities
KR102505913B1 (ko) * 2018-04-04 2023-03-07 삼성전자주식회사 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템

Also Published As

Publication number Publication date
US11221931B2 (en) 2022-01-11
CN111435337A (zh) 2020-07-21
CN111435337B (zh) 2023-07-04
KR20200088634A (ko) 2020-07-23
US20200226044A1 (en) 2020-07-16

Similar Documents

Publication Publication Date Title
CN110008149B (zh) 融合式存储器件及其操作方法
US20230015404A1 (en) Memory system and data processing system including the same
JP7449063B2 (ja) メモリシステム及びメモリシステムの動作方法
US20200348871A1 (en) Memory system, operating method thereof and computing system for classifying data according to read and write counts and storing the classified data in a plurality of types of memory devices
US11960900B2 (en) Technologies for fast booting with error-correcting code memory
US11461024B2 (en) Computing system and operating method thereof
JP2020113256A (ja) メモリシステム及びデータ処理システム
TW201502972A (zh) 共享記憶體系統
US10877918B2 (en) System and method for I/O aware processor configuration
US11016666B2 (en) Memory system and operating method thereof
JP2020087409A (ja) データ処理システム
US12001386B2 (en) Disabling processor cores for best latency in a multiple core processor
US20240028344A1 (en) Core mapping based on latency in a multiple core processor