JP7288344B2 - 半導体システム及びその動作方法 - Google Patents

半導体システム及びその動作方法 Download PDF

Info

Publication number
JP7288344B2
JP7288344B2 JP2019093637A JP2019093637A JP7288344B2 JP 7288344 B2 JP7288344 B2 JP 7288344B2 JP 2019093637 A JP2019093637 A JP 2019093637A JP 2019093637 A JP2019093637 A JP 2019093637A JP 7288344 B2 JP7288344 B2 JP 7288344B2
Authority
JP
Japan
Prior art keywords
memory device
workload
arithmetic operation
data
semiconductor system
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.)
Active
Application number
JP2019093637A
Other languages
English (en)
Other versions
JP2019200793A (ja
Inventor
イ ソク キム,
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 JP2019200793A publication Critical patent/JP2019200793A/ja
Application granted granted Critical
Publication of JP7288344B2 publication Critical patent/JP7288344B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

本発明は、集積回路技術に関し、さらに詳細には、多様なメモリ装置を備える半導体システムに関する。
電子装置は、多くの電子構成要素を備え、なかでも、コンピュータシステムは半導体からなる多くの半導体システムを備えている。一般的に、半導体システムは、ホスト機能を遂行するプロセッサ、キャッシュ(cache)機能を遂行するメモリ装置、並びに大容量データの格納及び出力を遂行するストレージからなる。しかしながら、半導体技術の発展に伴い、プロセッサ及び残りの構成要素間の動作性能の差が益々大きくなっている。いずれか一つの構成要素の低性能は全体システムの性能を制約する。
近年、構成要素等の性能制約を改善するために、多様なメモリ装置及びストレージが開発されている。そのうちの一つとしては、大容量データを高速で格納及び出力ができるナンドストレージ、即ち、ソリッドステートドライブ(Solid State Drive)である。もう一つとしては、大容量データを格納しながら、ランダムアクセスメモリ(Random Access Memory、RAM)に次ぐデータの格納及び出力速度を有する不揮発性メモリ装置を備えるストレージクラスメモリ(Storage Class Memory、SCM)である。ストレージクラスメモリ及びソリッドステートドライブは、半導体システムの性能改善に寄与している。
本発明は、データ演算が遂行できる多様なメモリ装置を備える半導体システム及びその動作方法を提供する。
本発明の一態様は、プロセッサと、該プロセッサと通信してデータを格納するストレージと、前記プロセッサの要請によって、前記ストレージから第1のワークロード及び第2のワークロードを受信して格納し、前記第1のワークロードに対して第1の演算動作を遂行する第1のメモリ装置と、前記プロセッサの要請によって、前記第1のメモリ装置から第2のワークロードを受信し、該第2のワークロードに対して第2の演算動作を遂行する第2のメモリ装置を備える半導体システムを提供する。
本発明の他の態様は、第1のワークロード及び第2のワークロードに対して演算動作を遂行するために、第1のメモリ装置がストレージから前記第1のワークロード及び前記第2のワークロードを受信して格納するステップと、第2のメモリ装置が前記第1のメモリ装置から前記第2のワークロードに対応するデータを受信し、受信した前記データに対して第2の演算動作を遂行するステップと、前記第1のメモリ装置が前記第1のワークロードに対して第1の演算動作を遂行するステップとを含む半導体システムの動作方法を提供する。
本発明の他の態様は、第2のワークロードに対して第2の演算動作を遂行する積層揮発性メモリ装置と、第1のワークロード及び前記第2のワークロードをローディングし、前記第2のワークロードを前記積層揮発性メモリ装置に提供し、前記第1のワークロードに対して第1の演算動作を遂行するストレージクラスメモリと、前記積層揮発性メモリ装置及び前記ストレージクラスメモリに前記第1の演算動作及び前記第2の演算動作のための第1のコマンド及び第2のコマンドを提供し、外部要請に応じて前記第1の演算動作及び前記第2の演算動作の結果に対して演算動作を遂行するプロセッサを備え、前記ストレージクラスメモリは、前記第1の演算動作を遂行することよりも、前記第2のワークロードを前記積層揮発性メモリ装置に優先的に提供する半導体システムを提供する。
本発明は、半導体システムの動作効率を増加させることで、動作性能の改善を図ることができる。
本発明の一実施形態に係る半導体システムの構成を示す図である。 本発明の一実施形態に係る半導体システムの動作方法を示すフローチャートである。 図1の第1のデータ格納領域の構成を示す図である。
図1は、本発明の一実施形態に係る半導体システム1の構成を示す図である。半導体システム1は、階層的メモリ構造を有している。半導体システム1は、多様な種類のメモリ装置を備え、多様なメモリ装置が階層的メモリ構造を形成してシステムの動作効率を最適化させる。多様な種類のメモリ装置は、データの格納及び出力速度、データ格納容量並びに帯域幅が互いに異なっている。
図1に示されるように、半導体システム1は、プロセッサ110、メインメモリ120、第1のメモリ装置130、第2のメモリ装置140及びストレージ150を備えている。
プロセッサ110は、半導体システム1のホストとして動作し、メインメモリ120、第1のメモリ装置130、第2のメモリ装置140及びストレージ150が動作するために必要な多様な制御信号を提供する。
プロセッサ1から提供される多様な制御信号は、要請(request)の形態により、メインメモリ120、第1のメモリ装置130、第2のメモリ装置140及びストレージ150に提供される。例えば、プロセッサ110は、中央処理処置(CPU)、グラフィック処理装置(Graphic Processing Unit、GPU)、マルチメディアプロセッサ(Multi-Media Processor、MMP)、デジタル信号プロセッサ(Digital Signal Processor)及びアプリケーションプロセッサ(AP)等を含む。
メインメモリ120、第1のメモリ装置130及び第2のメモリ装置140は、ワーキングメモリ(working memory)であり、バッファーメモリ(buffer memory)として機能できる。
メインメモリ120は、プロセッサ110のキャッシュとして機能できる。一般的に、メインメモリ120は、データの格納及び出力速度が高速且つ一定であるSRAM(Static RAM)、DRAM(Dynamic RAM)及びSDRAM(Synchronous DRAM)等のランダムアクセスメモリを含む。
メインメモリ120は、DIMM(Dual In-line Memory Module)のようなモジュール形態で具現できる。
第1のメモリ装置130及び第2のメモリ装置140は、プロセッサ110と共に演算動作を遂行する。プロセッサ110が一つの単一演算動作によりマップリデュース(MapReduce)プログラムを遂行する際、プロセッサ110、第1のメモリ装置130及び第2のメモリ装置140は、単一演算動作の一部を各々遂行する。マップリデュースプログラムは、マップ関数(map function)及びリデュース関数(reduce function)を含む。例えば、第1のメモリ装置130及び第2のメモリ装置140がマップ関数に対応する演算動作を遂行し、プロセッサ110が第1のメモリ装置130及び第2のメモリ装置140の演算動作結果に対してリデュース関数に対応する演算動作を遂行する。マップ関数及びリデュース関数は、ユーザー定義関数(user defined functions)である。例えば、マップ演算は、データを他の値にフィルターリング又は変化させるための演算動作である。リデュース演算は、マップ演算の結果をグルーピング又は集計(aggregating)する演算動作である。
使用者によって特定の演算動作を必要とするプログラムが実行されると、特定の演算動作はマップ関数による演算動作及びリデュース関数による演算動作を通して遂行される。即ち、特定の演算動作は、複数のマップ演算及びリデュース演算を通して遂行するようにプログラミングされる。一つの単一演算動作が複数のマップ演算及びリデュース演算を通して遂行される場合、大容量データに対する分散並列処理が可能であるため、演算の複雑性及び演算時間を大きく減少させることができる。
プロセッサ110は、特定の演算動作を遂行するためにワークロード(work load)を第1のメモリ装置130及び第2のメモリ装置140に割り当て、第1のメモリ装置130及び第2のメモリ装置140は、割り当てられたワークロードに対して各々マップ演算を遂行できる。第1のメモリ装置130及び第2のメモリ装置140が遂行するマップ演算は、同種或いは異種である。プロセッサ110は、第1のメモリ装置130及び第2のメモリ装置140でマップ演算の結果に対してリデュース演算を遂行できる。
プロセッサ110は、第1のメモリ装置130及び第2のメモリ装置140により特定の演算動作が遂行されるように、第1のメモリ装置130及び第2のメモリ装置140にワークロードを割り当てることができる。ワークロードは、メモリ装置130,140に割り当てられ、メモリ装置130,140により演算されるターゲットデータグループを意味する。プロセッサ110は、第1のメモリ装置130に一方のワークロードを割り当て、第2のメモリ装置140に他方のワークロードを割り当てる。第1のメモリ装置130及び第2のメモリ装置140は、各々割り当てられたワークロードに対してマップ演算を遂行する。
ストレージ150は、大容量データ格納装置である。ストレージ150は、複数のNANDフラッシュメモリを有するソリッドステートドライブである。
本発明の一実施形態において、第1のメモリ装置130は、第2のメモリ装置140よりも大きいデータ格納容量を有し、ストレージ150は、第1のメモリ装置130よりも大きいデータ格納容量を有する。第1のメモリ装置130は、ストレージ150よりもデータのライト及びリードのための動作速度が速く、第2のメモリ装置140は、第1のメモリ装置130よりもデータのライト及びリードのための動作速度が速い。第2のメモリ装置140の帯域幅は、第1のメモリ装置130の帯域幅よりも広い。ここで、帯域幅が広いとは、単位時間に入出力されるデータの量が多いことを意味する。
第1のメモリ装置130は、ストレージクラスメモリである。第1のメモリ装置130は、複数の不揮発性ランダムアクセスメモリを含む。例えば、第1のメモリ装置130は、相変化メモリ(Phase Change RAM)、磁気メモリ(Magnetic RAM)、抵抗性メモリ(Resistive RAM)及び強誘電性メモリ(Ferroelectric RAM)の少なくとも一つ以上の種類を有する。
第2のメモリ装置140は、積層揮発性メモリ装置を含む。第2のメモリ装置140は、例えば、複数のDRAMが積層された3次元の積層メモリ装置である。第2のメモリ装置140は、高帯域幅の積層メモリ装置(High Bandwidth Memory、HBM)及びハイブリッドメモリキューブ(Hybrid Memory Cube、HMC)等を含む。
第1のメモリ装置130及び第2のメモリ装置140は演算動作を遂行する。第1のメモリ装置130及び第2のメモリ装置140は、プロセッサ110が遂行する演算動作の少なくとも一部を各々遂行する。
第1のメモリ装置130及び第2のメモリ装置140は、演算動作を遂行するための演算回路を有する。第1のメモリ装置130及び第2のメモリ装置140は、プロセッサインメモリ(Processor In Memory)又はプロセッサニアメモリ(Processor Near Memory)で具現できる。
プロセッサインメモリ又はプロセッサニアメモリは、ある演算動作を遂行するための演算回路がメモリ装置と共に単一チップに集積されることを意味する。プロセッサ110が特定のワークロードに対して演算動作を遂行する際、第1のメモリ装置130及び第2のメモリ装置140は、各々特定のワークロードの少なくとも一部に対する演算動作を各々遂行し、演算動作の結果をプロセッサ110に転送する。
プロセッサ110は、第1のメモリ装置130及び第2のメモリ装置140から転送された各々の演算動作の結果に対して演算動作をさらに遂行する。
図1に示されるように、第1のメモリ装置130は、第1のデータ格納領域131及び第1の演算回路132を有する。
第1のデータ格納領域131は、ストレージ150から提供されたデータを格納できる。第1のデータ格納領域131はワークロードが格納できる。ワークロードは、プロセッサ110が演算動作を遂行しようとするターゲットデータグループである。ワークロードは、第1のワークロード及び第2のワークロードを含む。
第1の演算回路132は、第1のワークロードに対して第1の演算動作を遂行する。第1の演算回路132は、第1のデータ格納領域131に格納されたデータのうち、第1のワークロードに対応するデータを読み出して第1の演算動作を遂行する。第1の演算回路132は、第1のワークロードに対して第1の演算動作を遂行した後、第1の演算動作の結果をプロセッサ110に提供する。
本実施形態において、第1のメモリ装置130は、ファイングレイン(fine grain)方式により、第1のデータ格納領域131に格納された第1のワークロードに対応するデータを読み出すことができる。第1の演算回路132は、ファイングレイン方式により、第1のデータ格納領域131に格納されたデータを読み出すことができる。
第2のメモリ装置140は、第2のデータ格納領域141及び第2の演算回路142を有する。第2のメモリ装置140は、第2のワークロードを第1のメモリ装置130から受信し、第2のワークロードを第2のデータ格納領域141に格納する。
第2の演算回路142は、第2のワークロードに対して第2の演算動作を遂行する。第2の演算回路142は、第2のデータ格納領域141に格納されたデータを読み出して第2の演算動作を遂行する。第2の演算回路142は、第2のワークロードに対して第2の演算動作を遂行した後、第2の演算動作の結果をプロセッサ110に提供する。
第2のメモリ装置140は、第2のワークロードに対応するデータが第2のメモリ装置140のデータ格納容量を超過する場合、第2のワークロードに対応するデータの一部を第1のメモリ装置130から受信して、第2の演算動作を遂行する。例えば、第1のメモリ装置130は、第2のワークロードに対応するデータのうち、第2のメモリ装置140の格納容量に対応するデータだけをまず提供し、提供されたデータに対する演算動作が完了すると、残りのデータをさらに提供する。第2のメモリ装置140は、第2のワークロードに対応するデータの全部に対して、第2の演算動作が遂行されるまで第1のメモリ装置130からデータを受信する動作及び受信されたデータに対する演算動作を繰り返して遂行する。
本実施形態において、第1のメモリ装置130は、コースグレイン(coarse grain)方式により、第1のデータ格納領域131に格納された第2のワークロードに対応するデータを第2のメモリ装置140に出力できる。即ち、第1のメモリ装置130及び第2のメモリ装置140間でコースグレイン方式によりデータを転送できる。
本実施形態において、第1のメモリ装置130及び第2のメモリ装置140によって遂行される第1の演算動作及び第2の演算動作は、互いに類似する水準のアルゴリズムを含むことができる。例えば、第1の演算回路132及び第2の演算回路142は、互いに類似する水準の複雑性を持つアルゴリズムを含み、同一のアルゴリズムを含む。本実施形態において、第2のメモリ装置140で遂行される第2の演算動作は、第1のメモリ装置130で遂行される第1の演算動作よりも複雑なアルゴリズムを含むことができる。第2の演算回路142は、第1の演算回路132よりも複雑な演算動作を遂行でき、より複雑な演算動作を遂行するロジック回路を有する。本実施形態において、第2のワークロードに対応するデータはビックデータ(Big Data)である。ビックデータは、互いに同一の形式を持つ膨大な量のデータを意味する。
本発明の一実施形態に係る半導体システム1は、互いに異なる特性を持つ2個のメモリ装置が全部演算動作を遂行することで、半導体システム1の動作効率を最大化させることができる。例えば、第1のメモリ装置130は、相対的に大きいデータ格納容量を有するが、相対的に小さい帯域幅を持つため、第1のメモリ装置130だけが演算動作を遂行するように構成する場合、ワークロード処理性能が制約される恐れがある。反対に、第2のメモリ装置140は、相対的に大きい帯域幅を持つが、相対的に少ないデータ格納容量を有するため、第2のメモリ装置140だけが演算動作を遂行するように構成される場合、大容量のデータを効率よく処理することが困難になる。即ち、ワークロードの容量が大きい場合、第2のメモリ装置140は、ストレージからよくデータを受信しなければならない。したがって、本実施形態に係る半導体システム1は、第1のメモリ装置130及び第2のメモリ装置140を全部プロセッサインメモリ又はプロセッサニアメモリで具現し、ワークロードに対して効率よく演算するように、第1のメモリ装置130及び第2のメモリ装置140を使用できる。
図1を参照すれば、プロセッサ110は、メモリコントローラ111を備えている。
メモリコントローラ111は、プロセッサ110の多様な要請を第1のメモリ装置130、第2のメモリ装置140及びストレージ150に提供される多様なコマンドに変換できる。メモリコントローラ111は、プロセッサ110の多様なリクエストをスケジューリングできる。例えば、メモリコントローラ111は、ストレージ150にリードコマンドを提供し、第1のメモリ装置130にライトコマンドを提供できる。メモリコントローラ111は、ストレージ150から出力されたデータを受信し、データを第1のメモリ装置130に転送できる。メモリコントローラ111は、第1のメモリ装置130にリードコマンドを提供し、第2のメモリ装置140にライトコマンドを提供できる。メモリコントローラ111は、第1のメモリ装置130から出力されたデータを受信し、データを第2のメモリ装置140に転送できる。メモリコントローラ111は、第1のメモリ装置130及び第2のメモリ装置140に各々リードコマンドを提供し、プロセッサ110が第1のメモリ装置130及び第2のメモリ装置140から出力されたデータを受信する。
第1のメモリ装置130は第1の制御回路133をさらに有している。第1の制御回路133は、第1のデータ格納領域131から第1の演算回路132に出力されるデータを受信し、第1の演算回路132から演算されたデータをプロセッサ110に出力する。また、第1の制御回路133は、プロセッサ110から第1のデータ格納領域131に対するアクセス(access)と、第1の演算回路132から第1のデータ格納領域131に対するアクセスとを仲裁(arbitrate)できる。
第2のメモリ装置140は第2の制御回路143をさらに有している。第2の制御回路143は、第2のデータ格納領域141から第2の演算回路142に出力されるデータを受信し、第2の演算回路142により演算されたデータをプロセッサ110に出力できる。また、第2の制御回路143は、プロセッサ110から第2のデータ格納領域141に対するアクセスと、第2の演算回路142から第2のデータ格納領域141に対するアクセスとを仲裁できる。
図2は、本発明の一実施形態に係る半導体システム1の動作を示すフローチャートである。図1及び図2を参照して、本実施形態に係る半導体システム1の動作方法を説明する。
プロセッサ110は、特定のワークロードに対して演算動作を遂行するために、ストレージ150、第1のメモリ装置130及び第2のメモリ装置140に接近要請を提供する。プロセッサ110は、ストレージ150にリード要請を提供し、第1のメモリ装置130にライト要請を提供する。
ステップS21において、ストレージ150は、プロセッサ110のリード要請によって、ワークロードに対応するデータを第1のメモリ装置130に出力し、第1のメモリ装置130は、プロセッサ110のライト要請によって、ワークロードに対応するデータをストレージ150から受信して第1のデータ格納領域131に格納する。
ステップS22において、プロセッサ110は、第1のデータ格納領域131に格納されたワークロードのうち、演算が必要なワークロードが存在するか否かが判断される。演算が必要なワークロードが存在する場合(ステップS22において“はい”の場合)、プロセッサ110は第1のメモリ装置130及び第2のメモリ装置140に接近要請を提供する。プロセッサ110は、第1のメモリ装置130にリード要請及び演算要請を提供し、第2のメモリ装置140にライト要請及び演算要請を提供する。
このとき、ステップS23において、第1のメモリ装置130は、プロセッサ110からリード要請と演算要請とが共に受信されたか否かが判断される。第1のメモリ装置130は、演算要請よりもリード要請に優先的に応答する。即ち、第1のメモリ装置130は、演算要請に応じて第1の演算動作を遂行することよりも、リード要請に優先的に応答して、第1のデータ格納領域131に格納されたデータのうち、第2のワークロードに対応するデータを第2のメモリ装置140に出力する。第2のメモリ装置140は、プロセッサ110のライト要請によって、第1のメモリ装置130から受信されたデータを第2のデータ格納領域141に格納する。
ステップS24において、第1のメモリ装置130がプロセッサ110からリード要請と演算要請とを共に受信した場合(ステップS23において“はい”の場合)、第2のメモリ装置140は、プロセッサ110から提供されたライト要請によって、第1のメモリ装置130から提供されたデータを第2のデータ格納領域141に格納する。
ステップS25において、第2のメモリ装置140は、第2のデータ格納領域141に格納されたデータを読み出し、プロセッサ110から提供された演算要請によって、第2のワークロードに対して第2の演算動作を遂行する。
ステップS26において、第2のメモリ装置140は、第2の演算動作が完了すると、第2の演算動作の結果をプロセッサ110に提供する。
プロセッサ110に演算動作の結果を提供した後、ステップS22において第1のデータ格納領域131に格納されたワークロードのうち、演算が必要なワークロードが存在するか否かを再度判断し、演算が必要なワークロードが存在する場合、ステップS23からステップS26を繰り返して遂行する。
ステップS27において、第1のメモリ装置130は、プロセッサからリード要請を受信せず、演算要請だけを受信した場合(ステップS23において“いいえ”の場合)、第1のデータ格納領域131に格納されたデータのうち、第1のワークロードに対応するデータを読み出し、第1のワークロードに対して第1の演算動作を遂行する。また、第1のメモリ装置130は、第2のワークロードに対応するデータを第2のメモリ装置140に提供した後(即ち、ステップS24が完了した後)、第2のメモリ装置140と共に演算動作を遂行する。一実施例において、第1のメモリ装置130及び第2のメモリ装置140の演算動作は同時に遂行できる。
ステップS28において、第1のメモリ装置130は、第1の演算動作が完了すると、第1の演算動作の結果をプロセッサ110に提供する。
プロセッサ110に演算動作の結果を提供した後、ステップS22において第1のデータ格納領域131に格納されたワークロードのうち、演算が必要なワークロードが存在するか否かを再度判断し、演算が必要なワークロードが存在し、第1のメモリ装置130がプロセッサ110からリード要請を受信せず、演算要請だけを受信した場合、ステップS27及びステップS28を繰り返して遂行する。
ステップS29において、全体ワークロードに対する演算が完了した場合、即ち、演算が必要なワークロードが存在しない場合(ステップS22において“いいえ”の場合)、プロセッサ110は、第1のメモリ装置130及び第2のメモリ装置140から提供された演算動作の結果に対して演算動作を遂行する。
図3は、図1に示される第1のデータ格納領域131の構成を示す図である。
第1のデータ格納領域131は、複数のサブ領域に区分できる。複数のサブ領域は、物理的又は論理的に区分された単位データ格納領域である。図3に示されるように、第1のデータ格納領域131は、第1から第nまでのサブ領域SDB1-SDBnを有する。第1のメモリ装置130は、ストレージ150から提供されたデータを第1から第nまでのサブ領域SDB1-SDBnに格納する。第1のワークロードに対応するデータが格納されるサブ領域は、第2のワークロードに対応するデータが格納されるサブ領域と異なるように割り当てられる。即ち、第1のワークロードに対応するデータが格納されるように割り当てられるサブ領域は、第2のワークロードに対応するデータが格納されるように割り当てられるサブ領域と重畳しない。例えば、第1のワークロードに対応するデータは、最も高い順番のサブ領域から順次低い順番のサブ領域に格納する。第2のワークロードに対応するデータは、最も低い順番のサブ領域から順次高い順番のサブ領域に格納する。例えば、第1のワークロードに対応するデータを格納するために、第nのサブ領域SDBnが優先的に割り当てられ、次に第n-1のサブ領域SDBn-1が割り当てられる。反対に、第2のワークロードに対応するデータを格納するために、第1のサブ領域SDB1が優先的に割り当てられ、順次第2のサブ領域SDB2及び第3のサブ領域SDB3が割り当てられる。例えば、第2のワークロードは、第1から第mまでのサブ領域SDB1-SDBmに格納でき、第1のワークロードは、第nから第m+1までのサブ領域SDBn-SDBm+1に格納できる。第1のメモリ装置130が演算する第1のワークロードと、第2のメモリ装置140に提供される第2のワークロードとが、互いに異なるサブ領域に格納されることで、第1のメモリ装置130は、第1のワークロード及び第2ワークロードに対応するデータが互いに衝突しないようにリード動作を遂行できる。
本発明の属する技術分野における通常の技術者は、本発明がその技術的思想や必須特徴から逸脱しない範囲内において、他の具体的な形態で実施できるので、前述した実施例は全ての面において例示的なものであり、限定的なものではないと理解するべきである。本発明の範囲は詳細な説明よりも後述する特許請求の範囲により示され、特許請求の範囲の意味及び範囲、その等価概念から導出される全ての変更又は変形された形態が、本発明の範囲に含まれるものと解析するべきである。
1 半導体システム
110 プロセッサ
130 第1のメモリ装置
140 第2のメモリ装置
150 ストレージ

Claims (18)

  1. プロセッサと、
    該プロセッサと通信してデータを格納するストレージと、
    前記プロセッサの要請によって、前記ストレージから第1のワークロード及び第2のワークロードを受信して格納し、前記第1のワークロードに対して第1の演算動作を遂行する第1のメモリ装置と、
    前記プロセッサの要請によって、前記第1のメモリ装置から前記第2のワークロードを受信し、該第2のワークロードに対して第2の演算動作を遂行する第2のメモリ装置とを備える半導体システム。
  2. 前記第1のメモリ装置の動作速度が前記ストレージの動作速度よりも速く、前記第2のメモリ装置のデータ動作速度が前記第1のメモリ装置の動作速度よりも速い請求項1に記載の半導体システム。
  3. 前記ストレージが、前記第1のメモリ装置よりも大きいデータ格納容量を有し、
    前記第1のメモリ装置が、前記第2のメモリ装置よりも大きいデータ格納容量を有する請求項1に記載の半導体システム。
  4. 前記第2のメモリ装置が、前記第1のメモリ装置よりも広い帯域幅を有する請求項1に記載の半導体システム。
  5. 前記第2のメモリ装置が遂行する前記第2の演算動作は、前記第1のメモリ装置が遂行する前記第1の演算動作よりも複雑なアルゴリズムを含む請求項1に記載の半導体システム。
  6. 前記第1のメモリ装置は、前記第1のワークロードに対応するデータ及び前記第2のワークロードに対応するデータを格納する第1のデータ格納領域と、前記第1のワークロードに対応する前記データに対して前記第1の演算動作を遂行する第1の演算回路とを有する請求項1に記載の半導体システム。
  7. 前記第2のメモリ装置は、前記第2のワークロードに対応するデータを格納する第2のデータ格納領域と、前記第2のワークロードに対応する前記データに対して前記第2の演算動作を遂行する第2の演算回路とを有する請求項6に記載の半導体システム。
  8. 前記第1のデータ格納領域が、複数のサブ領域を有し、
    前記第1のワークロードに対応する前記データが格納される前記サブ領域と、前記第2のワークロードに対応するデータが格納される前記サブ領域とが、互いに異なるように割り当てられる請求項6に記載の半導体システム。
  9. 前記第1のデータ格納領域が、複数のサブ領域を有し、
    前記第1のワークロードに対応する前記データが、最も高い順番の前記サブ領域から順次低い順番の前記サブ領域に格納され、前記第2のワークロードに対応するデータが、最も低い順番の前記サブ領域から順次高い順番の前記サブ領域に格納される請求項6に記載の半導体システム。
  10. 前記第1のメモリ装置が、前記第1の演算動作を遂行することよりも、前記第2のワークロードを前記第2のメモリ装置に出力することを優先的に遂行する請求項1に記載の半導体システム。
  11. 第1のワークロード及び第2のワークロードに対して演算動作を遂行するために、第1のメモリ装置がストレージから前記第1のワークロード及び前記第2のワークロードを受信して格納するステップと、
    第2のメモリ装置が前記第1のメモリ装置から前記第2のワークロードに対応するデータを受信し、受信した前記データに対して第2の演算動作を遂行するステップと、
    前記第1のメモリ装置が前記第1のワークロードに対して第1の演算動作を遂行するステップとを含む半導体システムの動作方法。
  12. 前記第2の演算動作は、前記第1の演算動作よりも複雑なアルゴリズムで遂行される請求項11に記載の半導体システムの動作方法。
  13. 前記第1のメモリ装置は前記ストレージよりも速い動作速度を有し、前記第2のメモリ装置は前記第1のメモリ装置よりも速い動作速度を有する請求項11に記載の半導体システムの動作方法。
  14. 前記第2のメモリ装置は、前記第1のメモリ装置よりも広い帯域幅を有する請求項12に記載の半導体システムの動作方法。
  15. 前記ストレージは、前記第1のメモリ装置よりも大きいデータ格納容量を有し、前記第のメモリ装置は前記第のメモリ装置よりも大きいデータ格納容量を有する請求項11に記載の半導体システムの動作方法。
  16. 前記第1の演算動作を遂行するステップは、前記第2のメモリ装置が前記第2のワークロードに対応する前記データを受信した後、前記第2の演算動作と同時に遂行される請求項11に記載の半導体システムの動作方法。
  17. 前記第1のメモリ装置及び前記第2のメモリ装置が前記第1の演算動作及び前記第2の演算動作の結果をプロセッサに各々転送するステップと、
    前記プロセッサが前記第1の演算動作及び前記第2の演算動作の結果に対して演算動作を遂行するステップを含む請求項11に記載の半導体システムの動作方法。
  18. 第2のワークロードに対して第2の演算動作を遂行する積層揮発性メモリ装置と、
    第1のワークロード及び前記第2のワークロードをローディングし、前記第2のワークロードを前記積層揮発性メモリ装置に提供し、前記第1のワークロードに対して第1の演算動作を遂行するストレージクラスメモリと、
    前記積層揮発性メモリ装置及び前記ストレージクラスメモリに前記第1の演算動作及び前記第2の演算動作のための第1のコマンド及び第2のコマンドを提供し、外部要請に応じて前記第1の演算動作及び前記第2の演算動作の結果に対して演算動作を遂行するプロセッサとを備え、
    前記ストレージクラスメモリは、前記第1の演算動作を遂行することよりも、前記第2のワークロードを前記積層揮発性メモリ装置に優先的に提供する半導体システム。
JP2019093637A 2018-05-17 2019-05-17 半導体システム及びその動作方法 Active JP7288344B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0056379 2018-05-17
KR1020180056379A KR102631380B1 (ko) 2018-05-17 2018-05-17 데이터 연산을 수행할 수 있는 다양한 메모리 장치를 포함하는 반도체 시스템

Publications (2)

Publication Number Publication Date
JP2019200793A JP2019200793A (ja) 2019-11-21
JP7288344B2 true JP7288344B2 (ja) 2023-06-07

Family

ID=68532583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019093637A Active JP7288344B2 (ja) 2018-05-17 2019-05-17 半導体システム及びその動作方法

Country Status (4)

Country Link
US (1) US11016704B2 (ja)
JP (1) JP7288344B2 (ja)
KR (1) KR102631380B1 (ja)
CN (1) CN110502459B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3812801B1 (en) 2019-10-23 2024-06-19 Samsung Electronics Co., Ltd. Image sensor including color separating lens array and electronic device including the image sensor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235516A (ja) 1999-02-17 2000-08-29 Nec Corp 演算機能付きメモリシステム及びそれに用いるメモリ制御方法並びにその制御プログラムを記録した記録媒体
JP2002535777A (ja) 1999-01-21 2002-10-22 株式会社ソニー・コンピュータエンタテインメント 高速プロセッサシステム、これを使用する方法及び記録媒体
JP2014078231A (ja) 2012-10-08 2014-05-01 Hgst Netherlands B V 低電力・低遅延・大容量ストレージ・クラス・メモリのための装置および方法
JP2017016668A (ja) 2013-12-23 2017-01-19 井上 克己 情報検索機能を備えたメモリ、その利用方法、装置、情報処理方法。
WO2017187582A1 (ja) 2016-04-27 2017-11-02 株式会社日立製作所 計算機システム及びサーバ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235531B2 (en) * 2010-03-04 2016-01-12 Microsoft Technology Licensing, Llc Multi-level buffer pool extensions
KR20120107336A (ko) * 2011-03-21 2012-10-02 삼성전자주식회사 메모리 시스템 및 그것의 어드레싱 방법
CN107608910B (zh) 2011-09-30 2021-07-02 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
KR101692417B1 (ko) 2011-12-29 2017-01-05 인텔 코포레이션 다이렉트 액세스를 갖는 다중-레벨 메모리
US10249684B2 (en) * 2012-12-17 2019-04-02 Nantero, Inc. Resistive change elements incorporating carbon based diode select devices
US10126981B1 (en) * 2015-12-14 2018-11-13 Western Digital Technologies, Inc. Tiered storage using storage class memory
JP6724534B2 (ja) * 2016-05-09 2020-07-15 富士通株式会社 情報処理装置、重複除去プログラム、及び重複除去方法
CN107547941B (zh) * 2016-06-24 2021-10-22 杭州海康威视数字技术股份有限公司 媒体数据的存储方法、装置和系统
JP6822274B2 (ja) * 2017-03-30 2021-01-27 富士通株式会社 情報処理システム、方法、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002535777A (ja) 1999-01-21 2002-10-22 株式会社ソニー・コンピュータエンタテインメント 高速プロセッサシステム、これを使用する方法及び記録媒体
JP2000235516A (ja) 1999-02-17 2000-08-29 Nec Corp 演算機能付きメモリシステム及びそれに用いるメモリ制御方法並びにその制御プログラムを記録した記録媒体
JP2014078231A (ja) 2012-10-08 2014-05-01 Hgst Netherlands B V 低電力・低遅延・大容量ストレージ・クラス・メモリのための装置および方法
JP2017016668A (ja) 2013-12-23 2017-01-19 井上 克己 情報検索機能を備えたメモリ、その利用方法、装置、情報処理方法。
WO2017187582A1 (ja) 2016-04-27 2017-11-02 株式会社日立製作所 計算機システム及びサーバ

Also Published As

Publication number Publication date
US20190354315A1 (en) 2019-11-21
JP2019200793A (ja) 2019-11-21
CN110502459B (zh) 2023-06-13
KR102631380B1 (ko) 2024-02-01
CN110502459A (zh) 2019-11-26
US11016704B2 (en) 2021-05-25
KR20190131686A (ko) 2019-11-27

Similar Documents

Publication Publication Date Title
KR102541302B1 (ko) 플래쉬 집적 고 대역폭 메모리 장치
US9977610B2 (en) Data storage device to swap addresses and operating method thereof
CN107621959B (zh) 电子装置及其软件训练方法、计算系统
EP3230872B1 (en) Techniques to manage multiple sequential write streams
US20130329491A1 (en) Hybrid Memory Module
US20180115496A1 (en) Mechanisms to improve data locality for distributed gpus
US9864526B2 (en) Wear leveling using multiple activity counters
US11204797B2 (en) Computing systems and methods of operating computing systems
EP3462327A2 (en) Systems, methods and apparatus for memory access and scheduling
US10416886B2 (en) Data storage device that reassigns commands assigned to scale-out storage devices and data processing system having the same
EP4060505A1 (en) Techniques for near data acceleration for a multi-core architecture
US20180188976A1 (en) Increasing read pending queue capacity to increase memory bandwidth
JP7288344B2 (ja) 半導体システム及びその動作方法
US20230384946A1 (en) Storage device preventing loss of data in situation of lacking power and operating method thereof
US11662942B2 (en) Explicit buffer control
US9817767B2 (en) Semiconductor apparatus and operating method thereof
CN114064515A (zh) 具有任意传输长度的ssd管理的主机写入原子性
US10185510B2 (en) Bank interleaving controller and semiconductor device including the same
US9836220B2 (en) Data processing system and method of operating the same
CN110297784B (zh) 一种虚拟权重存储器系统及数据处理方法
US12019910B2 (en) SSD managed host write atomicity with arbitrary transfer length
EP4375840A1 (en) Memory controller, electronic system including the same and method of controlling memory access
US20230168818A1 (en) Memory device having reduced power noise in refresh operation and operating method thereof
CN116257176A (zh) 数据存储系统、数据存储方法和存储介质
CN112015333A (zh) 具有存储装置之间的对等数据移动的大容量存储系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230526

R150 Certificate of patent or registration of utility model

Ref document number: 7288344

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150