CN113377694A - 数据处理系统及其操作方法 - Google Patents

数据处理系统及其操作方法 Download PDF

Info

Publication number
CN113377694A
CN113377694A CN202010931492.1A CN202010931492A CN113377694A CN 113377694 A CN113377694 A CN 113377694A CN 202010931492 A CN202010931492 A CN 202010931492A CN 113377694 A CN113377694 A CN 113377694A
Authority
CN
China
Prior art keywords
controller
data
memory device
access
application
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.)
Withdrawn
Application number
CN202010931492.1A
Other languages
English (en)
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 CN113377694A publication Critical patent/CN113377694A/zh
Withdrawn 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared 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/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric 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/0284Multiple user address space allocation, e.g. using different base addresses
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/1016Performance improvement
    • 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/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/656Address space sharing
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据处理系统。该数据处理系统可以被配置为包括:存储器装置;控制器,被配置为:当主机请求对应用的卸载处理时,访问存储器装置,并且处理应用;以及共享存储器管理组件,在控制器内,并且被配置为:响应于主机将用于所请求的应用的卸载处理的数据存储在目标区域中,设置控制器拥有访问存储器装置目标区域的权限;并且基于应用的处理状态,设置控制器拥有访问目标区域的权限或者设置主机拥有访问目标区域的权限。

Description

数据处理系统及其操作方法
相关申请的交叉引用
本申请要求于2020年3月19日提交的申请号为10-2020-0029131的韩国申请的优先权,该韩国申请通过引用整体并入本文。
技术领域
各个实施例总体上涉及一种计算装置,并且更特别地,涉及一种数据处理系统及其操作方法。
背景技术
随着对人工智能应用和大数据分析兴趣的增加,计算系统应当能够有效地处理大量和不断增加的数据。
早期的计算系统利用处理器驱动的计算。然而,最近的计算系统现在经常利用数据驱动的计算或存储器驱动的计算,其中可高速并行处理大量数据。因此,由于出现在处理器和存储器之间的数据瓶颈现象减少了,这些计算系统的计算性能得以最大化。
在存储器驱动的计算装置中,用于执行操作的处理器可以位于存储器装置内或存储器装置附近。对于大数据处理应用,在处理器和存储器装置之间存在大量数据的传输和接收。这种大量的传输和接收的数据与执行数据处理应用的相关联数据处理系统的功耗和计算性能有关。
发明内容
在实施例中,一种数据处理系统可以被配置为包括:存储器装置;控制器,被配置为:当主机请求对应用的卸载处理时,访问存储器装置,并且处理该应用;以及共享存储器管理组件,位于控制器中,被配置为:响应主机将用于所请求的应用的卸载处理的数据存储在存储器装置的目标区域中,设置控制器拥有访问该目标区域的权限;基于应用的处理状态,设置控制器拥有访问目标区域的权限或设置主机拥有访问目标区域的权限。
在实施例中,一种数据处理系统的操作方法,该数据处理系统包括存储器装置和控制器,控制器被配置为控制存储器装置,该操作方法包括:从主机接收请求以由控制器执行对应用的卸载处理;将用于对应用的卸载处理的数据存储在存储器装置的目标区域中;通过控制器设置控制器拥有访问目标区域的权限;并且基于应用的处理状态,设置控制器拥有访问目标区域的权限或主机拥有访问目标区域的权限。
在实施例中,一种数据处理系统可以被配置为包括:存储器装置;控制器,该控制器被配置为:在主机请求对应用的卸载处理时,访问存储器装置,其中包括应用的程序代码的第一数据存储在存储器装置的第一区域中,并且由程序代码计算的第二数据存储在存储器装置的第二区域中;处理应用;并且基于应用的处理状态,设置控制器拥有访问存储器装置的目标区域的权限或主机拥有访问该目标区域的权限。
附图说明
图1示出根据实施例的包括数据处理系统的电子装置的配置。
图2示出根据实施例的包括数据处理系统的电子装置的配置。
图3示出根据实施例的存储器模块的配置。
图4示出根据实施例的控制器的配置。
图5示出根据实施例的控制器的配置。
图6示出根据实施例的共享存储器管理组件的配置。
图7和图8是描述根据实施例的数据处理系统的操作方法的流程图。
图9和图10是描述根据实施例的数据处理系统的操作方法的概念图。
图11、图12和图13示出根据实施例的堆叠半导体设备。
图14示出根据实施例的包括数据存储装置的网络系统。
具体实施方式
下面参照附图更详细地描述实施例。
图1示出根据实施例的包括数据处理系统100的电子装置1的配置。
参照图1,电子装置1可以包括主机10和数据处理系统100。
电子装置1可以是各种电子装置,诸如个人计算机、服务器计算机、移动计算装置和/或交通工具的电子控制单元。
电子装置1可以包括用于使用超级计算机和/或计算机集群以协作的方式执行操作的高性能计算(HPC)装置,或者是用于单独处理数据的网络化信息处理装置或服务器的阵列。
主机10可以通过用户接口(未示出)向用户提供各种服务。为此,主机10可以向数据处理系统100传输请求、地址和/或相关数据,并且可以从数据处理系统100接收处理结果。
数据处理系统100可以响应于从主机10接收到的请求和地址而处理(或运行)相应的操作,并且可以将经由处理结果获得的数据传输到主机10。
主机10可以请求数据处理系统100的数据输入和/或输出,或者可以请求数据处理系统100卸载伴随数据输入和输出的应用并处理(或运行)该应用。当请求对应用的卸载处理时,主机10可以将操作控制信息和初始参数(或者已存储有初始参数的存储器区域的地址)传输到数据处理系统100。操作控制信息可以包括待由数据处理系统100运行的应用的类型、应用的程序代码或程序代码的存储地址。初始参数可以包括用于运行程序代码的初始数据或存储初始数据的地址。
数据处理系统100可以响应于操作控制信息和初始参数而处理主机的请求。在这种情况下,应用的卸载处理意为将主机10的操作委托给另一装置,例如数据处理系统100。
在一个实施例中,主机10可以请求数据处理系统100卸载神经网络应用,例如在另一方面对神经网络处理的操作,并对该操作进行处理,但是实施例不限于这些应用。当主机10向数据处理系统100请求神经网络应用的操作处理时,初始参数可以包括或指示初始数据和初始权重。
数据处理系统100可包括存储器装置200和控制器300。在实施例中,控制器300是管理往来于存储器装置200的数据流的数字电路。控制器可以独立地形成在芯片上,或者与一个或多个其他电路集成在一起。
主机10可以将操作控制信息传输到控制器300以便向数据处理系统100请求特定应用的卸载处理,和/或可以通过将初始参数传输到存储器装置200来将初始参数存储在存储器装置200中。
存储器装置200可以在控制器300的控制下存储数据或输出存储的数据。存储器装置200可以包括多个存储器模块200-1至200-I,并且可以被配置为以页面(或字节)为单位进行访问。因此,控制器300可以以页面为单位访问存储器装置200。
存储器模块200-1至200-I可以包括易失性存储器模块,和/或可以包括非易失性存储器模块。存储器模块包括联接在字线(或行线)和位线(或列线或串)之间的多个存储器单元。例如,联接到一条字线的存储器单元可以形成一个页面。
易失性存储器模块可以被配置为包括动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)。非易失性存储器模块可以被配置为包括电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋转移力矩磁性RAM(STT-MRAM)中的至少一个。
在一个实施例中,存储器模块200-1至200-I中的每一个可以是包括安装在诸如印刷电路板的模块板上的多个存储器芯片的单列直插式存储器模块(SIMM)或双列直插式存储器模块(DIMM)形式的存储器模块或高带宽存储器(HBM)。HBM模块可以包括安装在中介层上的多个HBM和至少一个硬件加速器。在一个实施例中,在HBM模块的情况下,存储器模块200-1至200-I可以被配置以使控制器300包括在模块板上或者控制器300包括在基础管芯中。
响应于主机10提供的操作控制信息,控制器300可以从与存储在应用程序代码中的地址相对应的存储器区域读取程序代码,可以将读取的程序代码加载到内部存储器上,可以从存储器装置200中读取初始参数,可以将读取的初始参数加载到内部存储器上,并且/或者可以运行或计算程序代码。
应用程序代码可以存储在主机10的存储器或存储器装置200的非易失性存储器模块中。在运行应用的程序代码时生成的数据可以存储在存储器装置200中并被提供到主机10。例如,在运行程序代码时生成的数据可以临时存储在易失性存储器模块中,然后可以存储在非易失性存储器模块中。
在一个实施例中,主机10可以请求数据处理系统100卸载机器学习或人工智能应用(例如,神经网络操作),以处理机器学习或人工智能应用。
在该技术的一个实施例中,控制器300可以包括主机接口(IF)303和存储器接口(IF)307。控制器300可以位于存储器装置200附近,并且可以通过存储器IF 307访问存储器装置200。图1所示的数据处理系统100可以表示为近存储器处理器(processor nearmemory,PNM)和/或可以执行近存储器计算(near-memory computing,NMC)。
在一个实施例中,当主机10将特定应用的程序代码和初始参数存储在存储器装置200中,并请求数据处理系统100卸载和处理该特定应用时,控制器300可以设置控制器拥有访问存储器装置200中已存储程序代码的第一区域和存储器装置200中已存储初始参数的第二区域的权限。控制器300可以将作为特定应用的处理结果而生成的数据存储在存储器装置200的第二区域中,并且还可以设置主机拥有访问该第二区域的权限。
当主机10将待处理的目标数据存储在存储器装置200的特定区域中时,可以重复执行由控制器300设置对数据存储区域的访问权限、处理应用以及将访问权限再次传送到主机10的过程,直到主机已请求处理的应用的运行终止。
在一个实施例中,控制器300可以仅设置控制器300拥有访问控制器300连续使用的第一数据已被存储(例如,在主机请求处理的应用被处理的同时程序代码已被存储)的存储器区域的权限,直到应用程序的处理终止。
在一个实施例中,控制器300可以设置控制器300拥有访问已存储主机请求处理的应用被处理的同时计算的第二数据(例如,操作数据)的存储器区域的权限,可以在执行操作的同时设置访问权限,并且/或者可以在操作终止之后设置主机10拥有访问存储器区域的权限。
如本文所述,控制器300可以排他地访问已存储操作所需数据的区域,可以处理应用,并且主机10可访问作为处理结果而生成的数据。因此,因为在主机10与存储器装置200之间传输和接收的数据量被最小化,并且因此可以提高电子装置1的操作速度。
在一个实施例中,控制器300可以将包括针对存储器区域中的每个地址的访问权限信息的模式设置命令传输到存储器装置200。响应于该命令,存储器装置200可以设置模式寄存器组(MRS)。在一个实施例中,存储器装置200可包括被划分为存储库的区域。控制器300可以以MRS命令的形式将每个存储库的访问权限信息传输到存储器装置200。
可以通过MRS设置每个存储器区域的访问权限信息,但是本公开不限于此,并且可以使用各种方法(诸如邮箱)来设置每个存储器区域的访问权限信息。
当在存储器装置200中设置了每个存储器区域的访问权限信息时,只有在尝试访问特定存储器区域的对象与设置值相同时,存储器装置200才可允许访问特定存储器区域(或存储库)。如果尝试访问特定存储器区域的对象与设置值不同,则存储器装置200可以生成错误信息,并通过控制器300将该错误信息传输到主机10,从而将该错误信息用于调试。
图2示出根据实施例的包括数据处理系统101的电子装置11的配置。
图2所示的电子装置11可以包括主机110和数据处理系统101。
数据处理系统101可以包括存储器装置1011、包括多个存储器模块200-1至200-I以及控制器1013。
与图1所示的数据处理系统100相比,图2中的数据处理系统101可以被配置为统一封装或单个封装,其中控制器1013设置在存储器装置1011外,或可包括在存储器装置1011内,这可表示为存储器中的处理器(PIM)。统一或单个封装意为诸如控制器1013和存储器装置1011的集成电路装置已安装在一个封装上或作为一个封装进行安装。
图3示出根据实施例的存储器模块200-1至200-I的配置。
存储器模块200-1至200-I中的每一个可以包括多个存储库201。
参照图3,存储库201可以包括:存储器单元阵列2011,其中存储有数据;以及外围电路,被配置为控制存储器单元阵列2011的内部操作,诸如编程操作、读取操作和/或刷新操作。外围电路可以包括控制逻辑2013、电压生成单元2015、地址处理电路2017、行解码器2019、列解码器2021和I/O电路2023。
存储器单元阵列2011可以包括多个存储器单元,例如,DRAM单元。
控制逻辑2013可以响应于从I/O电路2023接收到的命令CMD而输出操作码OP。控制逻辑2013可以输出操作码OP以生成编程操作、读取操作和/或刷新操作所需的电压。
电压生成单元2015可以响应于操作码OP而生成编程操作、读取操作和/或刷新操作所需的操作电压Vop,并且可以输出所生成的操作电压Vop。
地址处理电路2017可以将从I/O电路2023接收到的地址ADD划分为行地址RADD和列地址CADD,并且可以输出行地址RADD和列地址CADD。
行解码器2019可以响应于行地址RADD而将操作电压Vop传输到存储器单元阵列2011。
列解码器2021可以响应于列地址CADD,将从I/O电路2023接收到的数据DATA传输到存储器单元阵列2011,或者将从存储器单元阵列2011读取的数据DATA传输到I/O电路2023。
I/O电路2023可以从控制器300或控制器1013接收命令CMD、地址ADD和数据DATA。I/O电路2023可以将从控制器300或控制器1013接收到的命令CMD传输到控制逻辑2013,可以将从控制器300或控制器1013接收到的地址ADD传输到地址处理电路2017,可以将从控制器300或控制器1013接收到的数据DATA传输到列解码器2021,并且可以将从列解码器2021接收到的数据DATA传输到控制器300或控制器1013。
图4示出根据实施例的控制器的配置,并且是图1所示的控制器300的示例性示图。
参照图4,根据实施例的控制器300可以包括共享存储器管理组件301、主机IF303、ROM 3051、RAM 3053、存储器IF 307和操作内核309。
共享存储器管理组件301可以控制存储器装置200的全部操作,并且可以响应于主机10传输的命令,控制操作内核309来处理主机10请求的操作。
主机IF 303可以在主机10和数据处理系统100之间提供接口(IF)。主机IF 303可以通过共享存储器管理组件301向操作内核309提供由主机10提供的命令和数据。主机IF303可以在共享存储器管理组件301的控制下促进数据在主机10和存储器装置200之间的传输和接收。
ROM 3051可以存储用于控制控制器300操作的程序代码,例如,固件或软件,并且可以存储程序代码使用的代码数据。
RAM 3053可以存储用于控制控制器300的操作的数据或由控制器300生成的数据。
存储器IF可以包括第一存储器接口(IF)3071和第二存储器接口3073。
第一存储器IF 3071和第二存储器IF 3073可以是连接控制器300和存储器装置200的物理通信通道。
在一个实施例中,操作内核309可以针对在电子装置1中运行的特定应用执行操作。在一个实施例中,电子装置1可以运行需要高带宽的机器学习或人工智能应用。操作内核309可以是专门为机器学习或人工智能应用运行逻辑功能的硬件加速器。
操作内核309可以使用由主机10或存储器装置200提供的数据,以便处理由主机10请求的操作。
主机10可以指示数据处理系统100将特定应用的操作处理卸载到控制器300的操作内核309上,并使用操作内核309执行操作处理。共享存储器管理组件301可以提取主机10的卸载命令,可以解码卸载命令,并且可以控制操作内核309。
操作内核309可以响应于共享存储器管理组件301输出的命令,基于加载到存储器装置200上的程序代码和初始参数来执行操作。作为操作内核309的处理结果而生成的数据可以存储在存储器装置200的特定区域中并且被传输到主机10。
在一个实施例中,操作内核309可包括算术逻辑单元(ALU)和浮点运算单元(FPU)。操作内核(或加速器)309可以从诸如以下的各种类型的加速器中选择:现场可编程门阵列(FPGA)、大规模并行处理器阵列(MPPA)、图形处理单元(GPU)、专用集成电路(ASIC)、神经处理单元(NPU)、张量处理单元(TPU)和/或多处理器片上系统(MPSoC)。
在一个实施例中,当主机10将用于特定应用的程序代码和初始参数存储在存储器装置200中并且请求对该特定应用的卸载处理时,共享存储器管理组件301可以设置控制器拥有访问存储器装置200中已存储程序代码的第一区域和存储器装置200中已存储初始参数的第二区域的权限。共享存储器管理组件301可以将使用存储在第二区域中的数据的操作结果存储在存储器装置200的第二区域中,并且可以设置主机拥有访问第二区域的权限。
在实施例中,由主机10将待处理的目标数据存储在存储器装置200的特定区域中的过程可以包括由控制器300设置对数据存储区域的访问权限,处理应用,以及将访问权限再次传送到主机10,可以重复该过程,直到主机已请求处理的应用的运行终止。
图5示出根据实施例的控制器的配置,并且是图2所示的控制器1013的示例性示图。
图5所示的控制器1013可以被配置为在存储器装置1011内运行由主机110请求的应用。
参照图5,控制器1013可以通过第一总线315和第二总线317联接到存储器装置1011。第一总线315可以用作主机110通过其可访问存储器装置1011的路径。第二总线317可以用作共享存储器管理组件301通过其可访问存储器装置1011的路径。
图6示出根据实施例的共享存储器管理组件301的配置。
参照图6,共享存储器管理组件301可以包括命令解释器3011、监测组件3013、权限设置组件3015和地址映射器3017。
命令解释器3011可以提取主机10或110的卸载命令,可以对卸载命令进行解码,并且/或者可以控制操作内核309。
监测组件3013可以提取存储有主机10或110的数据的存储器区域的地址。此外,监测组件3013可以监测使用存储在存储器装置200或1011中的数据的操作是否已完成。
权限设置组件3015可以设置对已存储与由主机10或110请求卸载处理的应用相关的数据的存储器区域的访问权限。
在一个实施例中,权限设置组件3015可以仅设置控制器300或1013拥有访问已存储在由主机10或110请求处理的应用被处理的同时控制器300或1013需要连续使用的第一数据(例如,程序代码)的存储器区域的权限,仅直到应用的处理终止。
权限设置组件3015可以在执行操作的同时,设置控制器300或1013拥有访问已存储在由主机10或110请求处理的应用被处理的同时计算出的第二数据的存储器区域的权限,并且可以在该操作终止之后设置主机10或110拥有访问该存储器区域的权限。
主机10或110以及控制器300或1013可以使用存储器装置200或1011的物理地址而无需任何改变来访问存储器装置200或1011,或者可以使用由主机10或110或控制器300或1013分配的逻辑地址来访问存储器装置200或1011。
当控制器300或1013使用逻辑地址访问存储器装置200或1011时,地址映射器3017可以存储其访问权限已被传送到控制器300或1013的存储器区域的物理地址与控制器300或1013用来访问存储器装置200或1011的逻辑地址之间的映射信息。
在一个实施例中,地址映射器3017可以向存储器区域中的每一个分配逻辑地址,并且可以将逻辑地址映射到物理地址,其中基于已存储数据的顺序,从初始值(例如,0号地址)开始按照升序已将由主机10或110传输的数据存储在存储器区域中。然而,地址映射器3017还可以以其他方式或过程分配逻辑地址。
根据实施例,共享存储器管理组件301可以在主机10或110将应用处理所需的数据存储在存储器装置200或1011的特定区域中时,设置控制器300或1013拥有访问数据存储区域的权限,并且可以基于应用的处理状态来设置控制器300或1013或者主机10或110拥有访问数据存储区域的权限。
图7和图8是描述根据实施例的数据处理系统的操作方法的流程图。
参照图7,当电子装置1或11接通电源并且启动时(S101),可以将对存储器装置200或1011的所有区域的访问权限分配到主机10或110。
当主机10或110向数据处理系统100或101请求特定应用的卸载处理并传输用于卸载处理的数据时(S103),控制器300或1013可以设置控制器300或1013拥有访问已由主机10或主机110存储数据的存储器区域的权限(S105)。在一个实施例中,由主机10或110传输的数据可以包括:第一数据,诸如存储在存储器装置200或1011的第一区域中的程序代码;以及第二数据,诸如存储在存储器装置200或1011的第二区域中的且由程序代码计算的操作数据。当设置访问权限时(S105),控制器300或1013可以将第一区域和第二区域的访问权限传送到控制器300或1013。
控制器300或1013可以使用存储在第一区域中的程序代码来计算存储在第二区域中的数据(S107),可以在操作完成时设置主机10或110拥有访问第二区域的权限,并且可以向主机10或110报告该操作已经完成(S109)。
主机10或110可以检查是否存在待请求卸载处理的附加任务(S111)。作为检查的结果,如果存在附加任务(S111:是),主机10或110可以传输用于处理附加任务的数据(S103),并且可以执行后续或附加处理。
作为检查的结果,如果不存在附加任务(S111:否),控制器300或1013可以设置主机10或110拥有访问存储器装置200或1011的所有区域的权限(S113)。
参照图8,当电子装置1或11接通电源并且启动时(S200),可以将存储器装置200或1011的所有区域的访问权限分配到主机10或110。
当主机10或110向数据处理系统100或101请求特定应用的卸载处理并传输用于卸载处理的数据时(S201),控制器300或1013可以设置控制器300或1013拥有访问已由主机10或主机110存储第一数据的存储器区域(S203)的权限。在一个实施例中,第一数据可以包括在处理已请求卸载处理的应用时连续使用的数据,例如存储在存储器装置200或1011的第一区域中的程序代码。
当主机10或110传输第二数据时(S205),控制器300或1013可以设置控制器300或1013拥有访问已由主机10或110存储第二数据的存储器区域的权限(S207)。在一个实施例中,第二数据可以包括存储在存储器装置200或1011的第二区域中并由程序代码计算的数据。随着操作的进行,可以利用临时和/或最终操作结果来更新存储在第二区域中的数据。
控制器300或1013可以使用存储在第一区域中的程序代码来计算存储在第二区域中的数据(S209)。当操作完成时,控制器300或1013可以向主机10或110报告操作完成,并且可以设置主机10或110拥有访问第二区域的权限(S211)。
主机10或110可以检查是否存在待传输到存储器装置200或1011的附加数据,诸如用于操作的数据(S213)。作为检查的结果,如果存在附加数据(S213:是),主机10或110可以将第三数据存储在存储器装置200或1011的第三区域中(S215)。当对存储在第二区域中的第二数据的操作完成时,控制器300或1013可以设置控制器300或1013拥有访问第三区域的权限(S217),并且可以进行至步骤S209并对第三数据执行操作。
作为检查的结果,如果不存在附加数据(S213:否),主机10或110可以基于例如第一数据的程序数据来检查是否存在待处理的附加任务(S219)。
作为检查的结果,如果存在附加任务(S219:是),主机10或110可以进行至步骤S205,在步骤S205中,主机10或110传输用于处理附加任务的数据,并且可以执行后续处理。作为检查的结果,如果不存在附加任务(S219:否),控制器300或1013可以设置主机10或110拥有访问存储器装置200或1011的所有区域的权限(S221)。
图9和图10是用于描述根据实施例的数据处理系统的操作方法的概念图。
图9示出控制器300或1013在使用存储器装置200或1011的物理地址而无需任何改变的情况下访问存储器装置200或1011时设置权限的方法。
如(a)所示,当电子装置1或11接通电源并且启动时,可以将存储器装置200或1011的所有区域的访问权限分配到主机10或110。
如(b)所示,主机10或110可以向数据处理系统100或101请求特定应用的卸载处理,并且可以将用于卸载处理的程序代码存储在存储器装置200或1011的第一区域中(例如,存储库7和存储库8)。因此,控制器300或1013可以设置控制器300或1013拥有访问存储库7和存储库8的权限。
如(c)所示,在主机10或110将待由程序代码计算的第二数据存储在第二区域(例如,存储库5和存储库6)中时,控制器300或1013可以设置控制器300或1013拥有访问存储库5和存储库6的权限。此外,主机10或主机110可以在第三区域(例如,存储库3和存储库4)中准备用于下一操作的数据。
如(d)所示,当对存储在存储库5和存储库6中的第二数据的操作完成时,控制器300或1013可以设置主机10或110拥有访问存储库5和存储库6的权限,可以设置控制器300或1013拥有访问存储库3和存储库4的权限,并且可以执行操作。
图10示出在控制器300或1013将逻辑地址映射到存储器装置200或1011的物理地址并且访问存储器装置200或1011时设置权限的方法。
如(a)所示,当电子装置1或11接通电源并且启动时,可以将存储器装置200或1011的所有区域的访问权限分配到主机10或110。
如(b)所示,主机10或110可以向数据处理系统100或101请求特定应用的卸载处理,并且可以将用于卸载处理的程序代码存储在存储器装置200或1011的第一区域中(例如,物理存储库7和8)。因此,控制器300或1013可以将逻辑地址1和2映射到物理存储库7和8,并且可以设置控制器300或1013拥有访问逻辑存储库1和2的权限。
如(c)所示,当主机10或110将待由程序代码计算的第二数据存储在第二区域(例如,物理存储库5和6)中时,控制器300或1013可以将逻辑地址3和4映射到物理存储库5和6,并且可以设置控制器300或1013拥有访问逻辑存储库3和4的权限。此外,主机10或主机110可以在第三区域(例如,物理存储库3和4)中准备用于下一操作的数据。
如(d)所示,当对存储在逻辑存储库3和4中的第二数据的操作完成时,控制器300或1013可以将逻辑地址3和4映射到物理存储库3和4,可以设置控制器300或1013拥有访问与逻辑存储库3和4相对应的物理存储库3和4的权限,并且可以执行操作。
当对所有数据的操作完成时,控制器300或1013可以设置主机10或110拥有访问存储器装置200或1011的所有区域的权限。
如果控制器300或1013使用逻辑地址访问存储器装置200或1011,则控制器300或1013可以在将执行操作之前控制对待被连续访问的相同逻辑区域进行连续访问。因此,可以显著降低设置每个存储器区域的访问权限的频率。
根据本文描述的技术,存储器装置内(例如,存储器内)或存储器装置附近(例如,近存储器)的处理器可以独立于主机访问存储器装置,并且可以执行操作。
进一步地,由于减少了访问存储器装置所需的时间,因此本文所描述的技术降低了数据处理系统的功耗并提高了系统的计算性能。
而且,因为使用了独立的存储器接口(IF)和独立的存储器空间,因此可以防止或减轻在任何一个装置占用存储器装置时发生的性能劣化,使得数据处理系统外部的主机和数据处理系统内部的操作内核可以同时访问存储器装置。
图11至图13示出根据实施例的堆叠半导体设备。
图11示出根据实施例的堆叠半导体设备40。
堆叠半导体设备40可以包括其中堆叠多个管芯的堆叠结构410。堆叠结构410可以被配置为其中堆叠经由硅通孔(TSV)彼此电连接的多个管芯的高带宽存储器(HBM)类型,从而增加输入/输出单元的数量并因此增加带宽。
堆叠结构410可以包括基础管芯414和多个内核管芯412。
多个内核管芯412可以堆叠在基础管芯414上并且经由硅通孔(TSV)彼此电连接。在内核管芯412中的每一个中,可以设置用于存储数据的存储器单元和用于存储器单元的内核操作的电路。
内核管芯412可以经由硅通孔(TSV)与基础管芯414电连接,并且经由硅通孔(TSV)从基础管芯414接收信号、电力等。
例如,基础管芯414可以包括图1至图3所示的控制器300和存储器装置200。基础管芯414可以在堆叠半导体设备40中执行各种功能,例如,诸如存储器单元的电源管理和刷新功能的存储器管理功能,和/或内核管芯412与基础管芯414之间的定时调整功能。
包括在基础管芯414中的物理接口区域PHY可以是地址、命令、数据、控制信号等的输入/输出区域。物理接口区域PHY可以设置有能够满足堆叠半导体设备40所需数据处理速度的预定数量的输入/输出电路。可以在基础管芯414背面上的物理接口区域PHY中设置多个输入/输出端子和电源端子,以接收输入/输出操作所需的信号和电力。
图12示出根据实施例的堆叠半导体设备400。
堆叠半导体设备400可以包括多个内核管芯412和基础管芯414的堆叠结构410、存储器主机420以及接口衬底430。存储器主机420可以是CPU、GPU、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。
基础管芯414可以设置有用于内核管芯412和存储器主机420之间接口的电路。堆叠结构410可以具有与参照图11所描述的结构相似的结构。
堆叠结构410的物理接口区域PHY和存储器主机420的物理接口区域PHY可以通过接口衬底430彼此电连接。接口衬底430可以称为中介层。
图13示出根据实施例的堆叠半导体设备4000。
可以理解的是,通过将图12所示的堆叠半导体设备400布置在封装衬底440上获得图13所示的堆叠半导体设备4000。
封装衬底440和接口衬底430可以通过连接端子互相电连接。
系统级封装(SiP)型半导体设备可以通过将图12所示的堆叠结构410和存储器主机420堆叠在接口衬底430上并出于形成封装的目的将这些结构安装在封装衬底440上来实现。
图14是示出根据实施例的包括数据存储装置的网络系统5000的示图。参照图14,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410、5420和5430。
服务器系统5300可以响应来自多个客户端系统5410至5430的请求而服务数据。例如,服务器系统5300可以存储由多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可以向多个客户端系统5410至5430提供数据。
服务器系统5300可以包括主机装置5100和存储器系统5200。存储器系统5200可以包括图1所示的数据处理系统100、图11所示的堆叠半导体设备40、图12所示的堆叠半导体设备400或图13所示的堆叠半导体设备4000中的一个或多个,或其组合。
尽管上面已经描述了各个实施例,但是本领域技术人员应理解的是,所描述的实施例仅是示例。因此,本文所描述的数据处理系统及其操作方法不应基于所描述的实施例而受到限制。
本公开所属领域的技术人员应理解的是,因为本公开可以在不脱离本公开的技术精神或必要特征的情况以各种其他形式来实施,所以实施例仅从所有方面进行说明,而不是限制性的。因此,本公开的范围由所附权利要求书而不是具体实施方式限定,并且从权利要求书的含义和范围及其等同物得出的所有修改或变形应理解为包括在本公开的范围内。

Claims (20)

1.一种数据处理系统,包括:
存储器装置;
控制器,所述控制器:
当主机请求对应用的卸载处理时,访问所述存储器装置,并且
处理所述应用;以及
共享存储器管理组件,在所述控制器内,并且所述共享存储器管理组件:
响应于所述主机将用于所请求的所述应用的卸载处理的数据存储在所述存储器装置的目标区域中,设置所述控制器拥有访问所述目标区域的权限,并且
基于所述应用的处理状态,设置所述控制器拥有访问所述目标区域的权限或者设置所述主机拥有访问所述目标区域的权限。
2.根据权利要求1所述的数据处理系统,其中用于所请求的所述应用的卸载处理的数据包括:
第一数据,包括所述应用的程序代码,并且存储在所述存储器装置的第一区域中;以及
第二数据,由所述程序代码计算,并且存储在所述存储器装置的第二区域中。
3.根据权利要求2所述的数据处理系统,其中所述共享存储器管理组件进一步:
设置所述控制器拥有访问所述第一区域的权限,直到所述应用的运行终止;以及
设置所述控制器拥有访问所述第二区域的权限,直到使用所述第二数据的操作结果存储在所述第二区域中。
4.根据权利要求1所述的数据处理系统,其中所述共享存储器管理组件向所述存储器装置传输模式设置命令,所述模式设置命令包括所述存储器装置的每个区域的访问权限信息,并且
其中所述存储器装置基于所述访问权限信息来设置模式寄存器组即MRS。
5.根据权利要求1所述的数据处理系统,其中所述共享存储器管理组件将逻辑地址分配到所述目标区域的物理地址。
6.根据权利要求5所述的数据处理系统,其中用于所请求的所述应用的卸载处理的数据是:
第一数据,包括所述应用的程序代码,存储在已分配有第一逻辑地址的第一物理区域中;以及
第二数据,由所述程序代码计算,并且存储在已分配有第二逻辑地址的第二物理区域中;并且
其中所述共享存储器管理组件在对所述第二数据的操作完成时,将所述第二逻辑地址分配到第三物理区域,在计算所述第二数据之后由所述程序代码计算的第三数据已存储所述第三物理区域中。
7.根据权利要求1所述的数据处理系统,进一步包括:
第一接口,所述主机通过所述第一接口经由所述控制器访问所述存储器装置;以及
第二接口,所述控制器通过所述第二接口访问所述存储器装置。
8.根据权利要求1所述的数据处理系统,其中所述控制器和所述存储器装置是独立的模块板,并且彼此接口连接。
9.根据权利要求1所述的数据处理系统,其中所述控制器是包括所述存储器装置的单个封装。
10.一种数据处理系统的操作方法,所述数据处理系统包括存储器装置和控制器,所述控制器控制所述存储器装置,所述方法包括:
从主机接收请求以由所述控制器执行应用的卸载处理;
将用于所述应用的卸载处理的数据存储在所述存储器装置的目标区域中;
由所述控制器设置所述控制器拥有访问所述目标区域的权限;并且
基于所述应用的处理状态,由所述控制器设置所述控制器拥有访问所述目标区域的权限或者设置主机拥有访问所述目标区域的权限。
11.根据权利要求10所述的方法,其中用于所述应用的卸载处理的数据包括第一数据,所述第一数据具有所述应用的程序代码,存储在所述存储器装置的第一区域中;并且
其中所述方法进一步包括设置所述控制器拥有访问所述第一区域的权限,直到所述应用的运行终止。
12.根据权利要求11所述的操作方法,其中用于所述应用的卸载处理的数据包括第二数据,所述第二数据由所述程序代码计算,存储在所述存储器装置的第二区域中;并且
其中所述方法进一步包括设置所述控制器拥有访问所述第二区域的权限,直到使用所述第二数据的操作结果存储在所述第二区域中。
13.根据权利要求10所述的操作方法,进一步包括:
由所述控制器向所述存储器装置传输模式设置命令,所述模式设置命令包括所述存储器装置的每个区域的访问权限信息,并且
基于所述访问权限信息,由所述存储器装置设置模式寄存器组即MRS。
14.根据权利要求10所述的操作方法,进一步包括:
由所述控制器将逻辑地址分配到所述目标区域的物理地址。
15.根据权利要求14所述的操作方法,其中:
用于所述应用的卸载处理的数据包括:
第一数据,具有所述应用的程序代码,存储在已分配有第一逻辑地址的第一物理区域中;以及
第二数据,由所述程序代码计算,存储在已分配有第二逻辑地址的第二物理区域中;并且
其中所述方法进一步包括在对所述第二数据的操作完成时,由所述控制器将所述第二逻辑地址分配到已存储第三数据的第三物理区域。
16.根据权利要求10所述的操作方法,其中所述控制器控制所述主机通过第一接口访问所述存储器装置,并且
其中所述控制器通过第二接口访问所述存储器装置。
17.一种数据处理系统,包括:
存储器装置;
控制器,所述控制器:
当主机请求对应用的卸载处理时,访问所述存储器装置;
其中包括所述应用的程序代码的第一数据存储在所述存储器装置的第一区域中,并且由所述程序代码计算的第二数据存储在所述存储器装置的第二区域中;
处理所述应用;并且
基于所述应用的处理状态,设置所述控制器拥有访问所述存储器装置的目标区域的权限或者设置主机拥有访问所述目标区域的权限。
18.根据权利要求17所述的数据处理系统,其中所述控制器:
设置所述控制器拥有访问所述第一区域的权限,直到所述应用的运行终止;并且
设置所述控制器拥有访问所述第二区域的权限,直到使用所述第二数据的操作结果存储在所述第二区域中。
19.根据权利要求17所述的数据处理系统,其中所述控制器:
向所述存储器装置传输模式设置命令,所述模式设置命令包括所述存储器装置的每个区域的访问权限信息,并且
其中所述存储器装置基于所述访问权限信息设置模式寄存器组即MRS。
20.根据权利要求17所述的数据处理系统,进一步包括:
第一接口,所述主机通过所述第一接口经由所述控制器访问所述存储器装置;以及
第二接口,所述控制器通过所述第二接口访问所述存储器装置。
CN202010931492.1A 2020-03-09 2020-09-07 数据处理系统及其操作方法 Withdrawn CN113377694A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0029131 2020-03-09
KR1020200029131A KR20210113859A (ko) 2020-03-09 2020-03-09 데이터 처리 시스템 및 그 동작 방법

Publications (1)

Publication Number Publication Date
CN113377694A true CN113377694A (zh) 2021-09-10

Family

ID=77556568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010931492.1A Withdrawn CN113377694A (zh) 2020-03-09 2020-09-07 数据处理系统及其操作方法

Country Status (3)

Country Link
US (2) US11403236B2 (zh)
KR (1) KR20210113859A (zh)
CN (1) CN113377694A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102452731B1 (ko) 2018-04-03 2022-10-06 엘에스일렉트릭(주) 제어감시시스템의 제어단말장치에 구비되는 데이터처리장치
KR20210154277A (ko) * 2020-06-11 2021-12-21 삼성전자주식회사 메모리 모듈 및 그의 동작 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976136B2 (en) * 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US7610585B2 (en) * 2004-06-03 2009-10-27 Intel Corporation Thread synchronization methods and apparatus for managed run-time environments
KR100740635B1 (ko) 2005-12-26 2007-07-18 엠텍비젼 주식회사 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법
US7581073B2 (en) * 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US8464069B2 (en) * 2007-02-05 2013-06-11 Freescale Semiconductors, Inc. Secure data access methods and apparatus
US8001334B2 (en) * 2007-12-06 2011-08-16 Silicon Image, Inc. Bank sharing and refresh in a shared multi-port memory device
TWI479359B (zh) * 2013-08-01 2015-04-01 Phison Electronics Corp 指令執行方法、記憶體控制器與記憶體儲存裝置
US10459909B2 (en) * 2016-01-13 2019-10-29 Walmart Apollo, Llc System for providing a time-limited mutual exclusivity lock and method therefor
US10592408B2 (en) * 2017-09-13 2020-03-17 Intel Corporation Apparatus, computer program product, system, and method for managing multiple regions of a memory device
US10817176B2 (en) * 2018-06-18 2020-10-27 Intel Corporation Compute offload in block storage using virtual objects
US11204819B2 (en) * 2018-12-21 2021-12-21 Samsung Electronics Co., Ltd. System and method for offloading application functions to a device

Also Published As

Publication number Publication date
KR20210113859A (ko) 2021-09-17
US11966342B2 (en) 2024-04-23
US20210279185A1 (en) 2021-09-09
US11403236B2 (en) 2022-08-02
US20220382687A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
US11836097B2 (en) Memory device for adjusting memory capacity per channel and memory system including the same
US20210026774A1 (en) Data processing system and operating method thereof
US9536609B2 (en) Memory modules with multi-chip packaged integrated circuits having flash memory
US11966342B2 (en) Data processing system and operating method thereof
US9251061B2 (en) Methods for accessing memory in a two-dimensional main memory having a plurality of memory slices
CN110582745B (zh) 存储器装置及可促进张量存储器存取的方法
WO2018075131A1 (en) Mechanisms to improve data locality for distributed gpus
KR20200108774A (ko) 순환 큐 기반의 명령어 메모리를 포함하는 메모리 장치 및 그 동작방법
JP2023529653A (ja) マルチバンクメモリコマンドの動的統合
JP2023527324A (ja) ニアメモリアドレス生成を伴うメモリアクセスコマンド
US11461024B2 (en) Computing system and operating method thereof
US9720604B2 (en) Block storage protocol to RAM bypass
US20200293452A1 (en) Memory device and method including circular instruction memory queue
CN112988047A (zh) 数据处理系统及其操作方法
US10770150B2 (en) Non-volatile memory device and initialization information reading method thereof
CN111833935A (zh) 数据处理系统及其操作方法
US11016704B2 (en) Semiconductor system including various memory devices capable of processing data
CN112328166A (zh) 数据处理系统及其操作方法
US10998052B2 (en) Non-volatile memory device and initialization information reading method thereof
US20170031633A1 (en) Method of operating object-oriented data storage device and method of operating system including the same
US11593202B2 (en) Data processing system, memory controller therefor, and operating method thereof
CN115730661A (zh) 可重组式推理平台

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20210910

WW01 Invention patent application withdrawn after publication