CN117406913A - 计算系统及其操作方法 - Google Patents
计算系统及其操作方法 Download PDFInfo
- Publication number
- CN117406913A CN117406913A CN202310731343.4A CN202310731343A CN117406913A CN 117406913 A CN117406913 A CN 117406913A CN 202310731343 A CN202310731343 A CN 202310731343A CN 117406913 A CN117406913 A CN 117406913A
- Authority
- CN
- China
- Prior art keywords
- data
- ndp
- ratio
- bandwidth
- host device
- 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
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000015654 memory Effects 0.000 claims abstract description 97
- 238000012545 processing Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 16
- 238000013507 mapping Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 7
- 238000013519 translation Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
本公开涉及一种计算系统。该计算系统可以包括:存储器系统,包括被配置为存储原始数据的多个存储器装置和被配置为以第一带宽从多个存储器装置接收原始数据并且通过对原始数据执行第一操作来生成中间数据的近数据处理器(NDP);以及主机装置,以第二带宽联接到存储器系统并且基于带宽比和数据大小比确定用于对中间数据执行第二操作的资源。
Description
相关申请的交叉引用
本申请要求于2022年7月15日提交的申请号为10-2022-0087714的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
本公开的多种实施例总体涉及一种电子装置,并且更具体地,涉及一种主机装置和存储装置。
背景技术
存储装置被配置为响应于诸如计算机或智能电话的主机装置的控制来存储数据。存储装置可以包括存储数据的存储器装置和控制该存储器装置的存储器控制器。存储器装置可以分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置只要供电就可以保留数据,并且在没有电源的情况下可能会丢失存储的数据。易失性存储器装置的类型可以包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置即使在没有电源的情况下也不会丢失数据。非易失性存储器装置的类型可以包括只读存储器(ROM)、可编程存储器(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器等。
发明内容
本公开的多种实施例针对一种操作主机装置和支持改进的近数据处理器(NDP)的存储装置的方法。
根据本公开的实施例,一种计算系统可以包括:存储器系统,包括被配置为存储原始数据的多个存储器装置,以及被配置为以第一带宽从多个存储器装置接收原始数据并且通过对原始数据执行第一操作来生成中间数据的近数据处理器(NDP);以及主机装置,以第二带宽联接到存储器系统并且基于带宽比和数据大小比来确定用于对中间数据执行第二操作的资源(resource)。
根据本公开的实施例,一种计算系统可以包括:多个存储器装置,被配置为存储第一数据;近数据处理器(NDP),被配置为以第一带宽从多个存储器装置接收第一数据并且通过对第一数据执行第一操作来生成第二数据;以及主机装置,以第二带宽联接到NDP并且基于带宽比和数据大小比确定NDP是否执行第二操作。
根据本公开的实施例,一种操作主机装置的方法,该方法包括:向近数据处理器(NDP)传送用于请求多个存储器装置中存储的原始数据的查询(query),在NDP从多个存储器装置接收到原始数据时控制NDP通过对原始数据执行第一操作来生成第一数据,并基于数据大小比和带宽比确定执行第二操作的资源,数据大小比是第二数据的大小与原始数据的大小之比,并且带宽比是NDP和主机装置之间的带宽与多个存储器装置和NDP之间的带宽之比。
根据本公开的实施例,一种控制装置的操作方法,该操作方法包括:处理通过具有第一带宽的路径从一个或多个存储器装置提供的第一数据以生成第二数据;并且处理第二数据以生成待通过具有第二带宽的路径提供给主机装置的第三数据,其中,带宽比等于或小于数据大小比,带宽比是第二带宽与第一带宽之比,并且数据大小比是第三数据的大小与第一数据的大小之比。
控制装置可以是近数据处理器(NDP)。例如,控制装置的操作方法可以是处理第二操作的NDP的操作方法。第一数据可以是原始数据。第二数据可以是中间数据。第三数据可以是最终数据。
根据本公开的实施例,一种主机装置的操作方法,该操作方法包括:请求控制装置处理通过具有第一带宽的路径从一个或多个存储器装置提供的第一数据以生成第二数据,并且处理通过具有第二带宽的路径从控制装置提供的第二数据以生成第三数据,其中,带宽比大于数据大小比,带宽比是第二带宽与第一带宽之比,并且数据大小比是第三数据的大小与第一数据的大小之比。
例如,主机装置的操作方法可以是处理第二操作的主机装置的操作方法。
根据本公开的实施例,一种主机装置的操作方法,该操作方法包括:请求控制装置处理通过具有第一带宽的路径从一个或多个存储器装置提供的第一数据以生成第二数据,在带宽比等于或小于数据大小比时,请求控制装置处理第二数据以生成第三数据,并且在带宽比大于数据大小比时,处理通过具有第二带宽的路径从控制装置提供的第二数据以生成第三数据,其中,带宽比是第二带宽与第一带宽之比,并且数据大小比是第三数据的大小与第一数据的大小之比。
例如,主机装置的操作方法可以是确定主机装置或近数据处理器(NDP)处理第二操作的主机装置的操作方法。
附图说明
图1是示出根据本公开的实施例的计算系统的示图;
图2是示出根据本公开的实施例的存储器系统的内外带宽的示图;
图3是示出根据本公开的实施例的通信包和预处理操作的示图;
图4是示出根据本公开的实施例的近数据处理(NDP)的示图;
图5是示出根据本公开的实施例的接口操作的示图;
图6是示出根据本公开的第一实施例的示图;
图7是示出根据本公开的第二实施例的示图;
图8是示出根据本公开的实施例的操作主机装置的方法的示图;以及
图9是示出根据本公开的实施例的存储器控制器的示图。
具体实施方式
仅示出根据本说明书中公开的概念的实施例示例的特定结构或功能描述是为了描述根据该概念的实施例示例并且根据该概念的实施例示例可以通过各种形式实施,但描述不限于本说明书中描述的实施例示例。
图1是示出根据本公开的实施例的计算系统10000的示图。
参照图1,计算系统10000可以包括存储器系统1000和主机装置2000。
存储器系统1000可以被配置为响应于主机装置2000的控制来存储数据。存储器系统1000的示例可以包括蜂窝电话、智能电话、MP3播放器、膝上型电脑、台式计算机、游戏机、显示器、平板PC和车载式信息娱乐系统。
根据对应于与主机装置2000的通信方法的主机接口,存储器系统1000可以被制造为各种类型的存储装置中的一种。例如,存储器系统1000可以被配置为诸如以下的各种类型的存储装置中的任意一种:固态驱动器(SSD),以MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,以SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑型闪速(CF)卡,智能媒体卡和记忆棒。
存储器系统1000可以被制造为各种类型的封装中的任意一种。例如,存储器系统1000可以被制造为诸如以下的各种封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器系统1000可以包括用于进行训练和推理且具有高性能的基于深度学习的算法,以便有效地使用或提供大量数据。然而,在基于深度学习的系统中,由于嵌入操作主要由主机装置2000执行,因此可能产生带宽限制。另外,由于需要大量的服务数据,因此存储容量可能变得不足。
根据本公开的实施例的计算系统10000可以响应于主机装置2000的控制而操作。更具体地,主机装置2000可以包括主机处理器和主机存储器。主机处理器可以包括:通用处理器,诸如CPU、应用处理器(AP)或数字信号处理器(DSP);图形专用处理器,诸如GPU或视觉处理单元(VPU);或人工智能专用处理器,诸如NPU。另外,主机存储器可以包括用于提供推荐的系统服务的操作系统或应用程序。
更具体地,主机装置2000可以向存储器系统1000广播查询。另外,主机装置2000可以控制存储器系统1000通过使用查询从存储器系统1000获取与查询相对应的数据。另外,主机装置2000可以控制存储器系统1000执行池化操作以通过使用获取的数据生成嵌入数据,并将嵌入数据提供给主机装置2000。
根据实施例,计算系统10000可以通过可以实现额外的存储容量的经池化存储器架构来解决存储容量不足的问题,并且可以通过配置实现近数据处理(NDP)来缓解带宽限制。
图2是示出根据本公开的实施例的存储器系统1000的内外带宽的示图。
参照图2,简要描述了包括存储器系统1000和主机装置2000的计算系统10000。根据本公开的实施例,计算系统10000可以基于第一带宽10和第二带宽20来确定执行操作的资源。第一带宽10可以指存储器系统1000中的近数据处理器(NDP)和多个存储器装置之间的数据传输量。第一带宽10可以指每单位时间从多个存储器装置传输到NDP的数据量。以相同的方式,第二带宽20可以指每单位时间从存储器系统1000传输到主机装置2000的数据量。第一带宽10和第二带宽20可以是根据硬件确定的恒定值。主机装置2000可以基于第一带宽10和第二带宽20确定对原始数据执行第一操作和第二操作的资源。
图3是示出根据本公开的实施例的通信包和预处理操作的示图。
参照图3,示出了主机装置2000和存储器系统1000之间的通信包。更具体地,第一通信包11可以是从主机装置2000传送到存储器系统1000的消息。另外,第一通信包11可以包括“任务ID”、“操作码”、“源地址”、“源大小”和“目的地地址”。
第一通信包11总共可以包括91位,并且可以为“任务ID”分配四位。“任务ID”可以指示主机装置2000的操作状态。例如,“任务ID”可以指示主机装置2000的操作是正在运行还是已终止。主机装置2000可以重新安排存储器系统1000的操作。
另外,可以为“操作码”分配三位,并且用于区分多个嵌入操作的数据可以包括在“操作码”中。更具体地,主机装置2000可以包括用于将初始化、推理操作和学习操作相互区分开的“操作码”。根据实施例,主机装置2000可以参考“操作码”来识别待执行的操作的类型。
另外,可以为“源地址”分配32位。存储器系统1000可以包括关于查询或梯度(gradient)的源地址的数据。更具体地,主机装置2000可以包括关于存储器系统1000需要通过使用“源地址”从主机存储器获取的查询或梯度的地址的数据。梯度可以指用于更新嵌入表的数据,例如包括权重的嵌入数据。
另外,可以为“源大小”分配20位,并且“源大小”可以包括关于查询或梯度的大小的数据。另外,“目的地地址”可以包括主机存储器的、接收存储器系统1000执行内部操作的结果的地址。
主机装置2000可以使用第一通信包11与存储器系统1000通信。另外,存储器系统1000可以在从主机装置2000接收到第一通信包11时发送作为响应消息的第二通信包12。第二通信包12可以包括“任务ID”和“操作码”。
图4是示出根据本公开的实施例的近数据处理(NDP)的示图。
参照图4,第一存储器系统1000a可以包括存储器装置100和近数据处理器(NDP)200。第一存储器系统1000a可以是如图1或图2所示的存储器系统1000的一部分。
存储器装置100可以存储数据或使用所存储的数据。更具体地,存储器装置100可以响应于存储器控制器210的控制而操作。另外,存储器装置100可以包括多个存储器管芯,并且存储器管芯中的每一个可以包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。
存储器单元阵列可以包括多个存储块。存储块中的每一个可以包括多个存储器单元。每个存储块可以包括多个页面。页面可以是用于将数据存储在存储器装置100中的单位,或者可以是用于读取存储器装置100中存储的数据的单位。
存储器装置100的示例可以包括双倍数据速率同步动态随机存取存储器(DDRSDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)和自旋转移力矩随机存取存储器(STT-RAM)。
存储器装置100可以从存储器控制器210接收命令和地址。存储器装置100可以被配置为访问存储器单元阵列中响应于接收到的地址而选择的区域。当存储器装置100访问所选择的区域时,这可以指存储器装置100可以对所选择的区域执行与接收到的命令相对应的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。编程操作可以指存储器装置100将数据写入由地址选择的区域中的操作。读取操作可以指存储器装置100从由地址选择的区域读取数据的操作。擦除操作可以指存储器装置100擦除由地址选择的区域中存储的数据的操作。
NDP 200可以控制第一存储器系统1000a的一般操作并响应于主机装置2000的请求执行操作。操作的示例可以包括池化运算、向量乘法、向量和,以及矩阵乘法。
更具体地,NDP 200可以包括存储器控制器210、NDP核220和接口230。
存储器控制器210可以控制存储器装置100执行包括读取操作、擦除操作和编程操作的存储器操作。更具体地,存储器控制器210可以响应于来自主机装置2000的请求而控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器210可以向存储器装置100提供编程命令、物理块地址和数据。在读取操作期间,存储器控制器210可以向存储器装置100提供读取命令和物理块地址。在擦除操作期间,存储器控制器210可以向存储器装置100提供擦除命令和物理块地址。
NDP核220可以响应于主机装置2000的请求对从存储器装置100接收的数据执行操作。NDP核220可以包括:通用处理器,诸如CPU、AP或数字信号处理器(DSP);图形专用处理器,诸如GPU或VPU(视觉处理单元);或人工智能专用处理器,诸如NPU。
接口230可以协助NDP 200执行与主机装置2000的通信。NDP 200可以使用接口230执行与主机装置2000的通信。
接口230可以包括在数据在NDP 200和主机装置2000之间移动时用作通信器的邮箱。另外,接口230可以包括处置NDP 200和主机装置2000之间的中断的通用中断控制器(GIC)。另外,接口230可以包括直接存储器访问(DMA),该DMA允许在没有包括NDP核220的处理器的干预的情况下将数据传送到主机装置2000的存储器或存储器装置100。接口230可以通过PCIe连接到主机装置2000并且包括使用PCIe执行通信的协议。
根据实施例,NDP核220可以执行计算系统10000所需的全部或部分数据操作。例如,NDP核220可以通过对存储器装置100中存储的原始数据执行操作来生成中间数据。另外,NDP核220可以通过对中间数据执行操作来生成最终数据。可以响应于主机装置2000的控制来确定待由NDP核220执行的操作。
图5是示出根据本公开的实施例的接口操作的示图。
参照图5,NDP 200可以执行与主机装置2000的接口操作。
首先,NDP 200可以从主机装置2000接收对预定数据(例如,N个查询数据)执行操作的请求。更具体地,存储器控制器210可以从主机装置2000接收预定数据(例如,N个查询数据),并且接口230可以从主机装置2000接收处理预定数据的请求消息。
另外,NDP 200可以通过使用接口230向NDP核220传送中断。当NDP核220从接口230接收到中断时,NDP核220可以读出接口230和存储器控制器210从主机装置2000接收的请求消息和预定数据(例如,N个查询数据)。
另外,当NDP核220从接口230和存储器控制器210完全读取请求消息和预定数据(例如,N个查询数据)时,NDP核220可以通知接口230已完全读取请求消息和预定数据。
另外,NDP核220可以对预定数据(例如,N个查询数据)执行操作,传送已经执行操作的预定数据(例如,N个输出数据),并将指示操作已经完成的响应消息(例如,N个响应消息)发送到接口230。
当接口230从NDP核220接收到响应消息(例如,N个响应消息)时,接口230可以将中断和响应消息传送到主机装置2000。另外,存储器控制器210可以将已经执行操作的预定数据(例如,N个输出数据)传送到主机装置2000。
另外,当主机装置2000完全接收到响应消息(例如,N个响应消息)和预定数据(例如,N个输出数据)时,主机装置2000可以通知接口230已经完成响应消息(例如,N个响应消息)和预定数据(例如,N个输出数据)的接收。
图6是示出根据本公开的第一实施例的示图。
参照图6,根据实施例,NDP 200可以执行第一操作和第二操作。
主机装置2000可以控制NDP 200执行第一操作和第二操作。更具体地,主机装置2000可以控制NDP 200基于带宽比和数据大小比来执行第一操作和第二操作。带宽比可以指存储器系统1000和主机装置2000的第二带宽与存储器装置100和NDP 200的第一带宽之比。另外,数据大小比可以指最终数据的大小与原始数据的大小之比。第一操作可以是生成第一数据的处理操作。第二操作可以是生成第二数据的处理操作。NDP 2000可以通过对原始数据执行第一操作和第二操作来生成第二数据。
根据本公开的第一实施例,当带宽比小于或等于数据大小比时,主机装置2000可以控制NDP 200执行第二操作。另外,NDP 200可以通过对第一数据(或中间数据)执行第二操作来生成第二数据(或最终数据),并且可以将最终数据传送到主机装置2000。
图7是示出根据本公开的实施例的第二实施例的示图。
参照图7,根据实施例,NDP 200可以执行第一操作并且主机装置2000可以执行第二操作。
主机装置2000可以控制NDP 200执行第一操作,并且主机装置2000可以执行第二操作。更具体地,主机装置2000可以控制NDP 200使得NDP 200基于带宽比和数据大小比来执行第一操作。另外,主机装置2000可以对从NDP 200接收到的第一数据执行第二操作。NDP200可以通过对原始数据执行第一操作来生成第一数据,并且主机装置2000可以通过对第一数据执行第二操作来生成第二数据。
根据本公开的第二实施例,当带宽比大于数据大小比时,主机装置2000可以控制存储器系统1000使得第二操作可以由主机装置2000执行。主机装置2000可以控制存储器系统1000以仅由存储器系统1000执行第一操作。NDP 200可以通过对原始数据执行第一操作来生成第一数据(或中间数据),并将中间数据传送到主机装置2000。主机装置2000可以通过对第一数据(或中间数据)执行第二操作来生成第二数据(或最终数据)。
图8是示出根据本公开的实施例的操作主机装置2000的方法的示图。
参照图8,在操作S810,主机装置2000可以将请求原始数据的查询传送到NDP 200。更具体地,主机装置2000可以将请求多个存储器装置100中存储的原始数据的查询传送到NDP 200。
另外,在操作S820,主机装置2000可以控制NDP 200对原始数据执行第一操作。更具体地,当NDP 200从多个存储器装置100接收到原始数据时,主机装置2000可以控制NDP200通过对原始数据执行第一操作来生成第一数据。
另外,主机装置2000可以确定执行第二操作的资源。更具体地,基于第二数据的大小与原始数据的大小之比以及NDP 200和主机装置2000之间的带宽与多个存储器装置100和NDP 200之间的带宽之比,主机装置2000可以确定执行第二操作的资源。也就是说,主机装置2000可以通过比较数据大小比和带宽比来确定执行第二操作的资源。可以通过对第一数据执行第二操作来生成第二数据。当带宽比大于数据大小比时,主机装置2000可以将主机装置2000确定为执行第二操作的资源。另外,当带宽比小于或等于数据大小比时,主机装置2000可以将NDP 200确定为执行第二操作的资源。在主机装置2000将NDP 200确定为执行第二操作的资源之后,主机装置2000可以从NDP 200接收第二数据。
图9是示出根据本公开的实施例的存储器控制器1300的示图。
参照图9,存储器控制器1300可以包括处理器1310、RAM 1320、错误校正(ECC)电路1330、ROM 1360、主机接口1370和闪存接口1380。图9所示的存储器控制器1300可以对应于图4所示的存储器控制器210的实施例。
处理器1310可以使用主机接口1370与主机装置2000通信,并且执行逻辑操作以控制存储器控制器1300的操作。例如,处理器1310可以基于来自主机装置2000或外部装置的请求来加载编程命令、数据文件、数据结构等,并且可以执行各种类型的操作或者生成命令或地址。例如,处理器1310可以生成用于编程操作、读取操作、擦除操作、挂起操作和参数设置操作的各种命令。
另外,处理器1310可以用作闪存转换层FTL。处理器1310可以通过闪存转换层FTL将由主机装置2000提供的逻辑块地址LBA转换成物理块地址PBA。闪存转换层FTL可以接收逻辑块地址LBA,并且通过使用映射表将逻辑块地址LBA转换成物理块地址PBA。基于映射单元,可以存在闪存转换层的多种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
另外,处理器1310可以在没有来自主机装置2000的请求的情况下生成命令。例如,处理器1310可以生成用于诸如存储器装置100的损耗均衡操作和存储器装置100的垃圾收集操作之类的后台操作的命令。
RAM 1320可以用作处理器1310的工作存储器、高速缓存存储器或缓冲存储器。RAM1320可以存储由处理器1310运行的代码和命令。RAM 1320可以存储由处理器1310处理的数据。另外,RAM 1320可以用静态RAM(SRAM)或动态RAM(DRAM)来实现。
错误校正电路1330可以在编程操作或读取操作期间检测错误,并且校正检测到的错误。更具体地,错误校正电路1330可以根据错误校正码(ECC)执行错误校正操作。另外,错误校正电路1330可以基于待写入到存储器装置100的数据来执行ECC编码。经ECC编码的数据可以通过闪存接口1380传送到存储器装置100。另外,错误校正电路1330可以基于通过闪存接口1380从存储器装置100接收的数据执行ECC解码。
ROM 1360可以用作存储单元组,该存储单元组存储用于存储器控制器1300的操作的各种类型的信息。更具体地,ROM 1360可以包括映射表,并且该映射表可以包括物理-逻辑地址信息和逻辑-物理地址信息。ROM 1360可以由处理器1310控制。
主机接口1370可以包括用于主机装置2000与存储器控制器1300之间的数据交换的协议。更具体地,主机接口1370可以通过诸如以下的各种通信标准或接口中的一种或多种与主机装置2000通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机系统接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议、私有协议等。
处理器1380可以控制闪存接口1380使用通信协议与存储器装置100通信。更具体地,闪存接口1380可以通过通道与存储器装置100通信命令、地址和数据。例如,闪存接口1380可以包括NAND接口。
根据本公开,提供一种操作主机装置和支持改进的近数据处理(NDP)的存储装置的方法。
尽管已相对于特定实施例示出和描述了本教导,但是对于本领域技术人员而言将显而易见的是,在不脱离随附权利要求书所限定的本公开的构思和范围的情况下,可以进行各种改变和修改。此外,可以组合实施例以形成附加的实施例。
Claims (20)
1.一种计算系统,包括:
存储器系统,包括:
多个存储器装置,存储原始数据;以及
近数据处理器即NDP,以第一带宽从所述多个存储器装置接收所述原始数据并且通过对所述原始数据执行第一操作来生成中间数据;以及
主机装置,以第二带宽联接到所述存储器系统并且基于带宽比和数据大小比来确定用于对所述中间数据执行第二操作的资源。
2.根据权利要求1所述的计算系统,其中,所述带宽比是所述第二带宽与所述第一带宽之比。
3.根据权利要求1所述的计算系统,其中,所述数据大小比是通过对所述中间数据执行所述第二操作而生成的最终数据的大小与所述原始数据的大小之比。
4.根据权利要求1所述的计算系统,进一步包括比较器,所述比较器计算所述带宽比和所述数据大小比中的每一个,并且将所述带宽比和所述数据大小比相互比较。
5.根据权利要求1所述的计算系统,其中,在所述带宽比大于所述数据大小比时,所述主机装置进一步控制所述存储器系统,使得所述第二操作由所述主机装置执行。
6.根据权利要求5所述的计算系统,
其中,所述存储器系统进一步将所述中间数据传送到所述主机装置,并且
在所述主机装置从所述存储器系统接收到所述中间数据时,所述主机装置进一步对所述中间数据执行所述第二操作。
7.根据权利要求1所述的计算系统,其中,在所述带宽比小于或等于所述数据大小比时,所述主机装置进一步控制所述存储器系统,使得所述第二操作由所述NDP执行。
8.根据权利要求7所述的计算系统,其中,所述NDP进一步通过对所述中间数据执行所述第二操作来生成最终数据,并且进一步将所述最终数据传送到所述主机装置。
9.根据权利要求1所述的计算系统,其中,所述NDP包括:
存储器控制器,控制所述存储器装置执行包括读取操作、擦除操作和编程操作的存储器操作;以及
NDP核,对从所述存储器装置接收的所述原始数据执行包括所述第一操作的处理操作。
10.一种计算系统,包括:
多个存储器装置,存储第一数据;以及
近数据处理器即NDP,以第一带宽从所述多个存储器装置接收所述第一数据并且通过对所述第一数据执行第一操作来生成第二数据;以及
主机装置,以第二带宽联接到所述NDP并且基于带宽比和数据大小比确定所述NDP是否执行第二操作。
11.根据权利要求10所述的计算系统,其中,所述带宽比是所述第二带宽与所述第一带宽之比。
12.根据权利要求10所述的计算系统,其中,所述数据大小比是通过对所述第二数据执行所述第二操作生成的第三数据的大小与所述第一数据的大小之比。
13.根据权利要求10所述的计算系统,其中,在所述带宽比大于所述数据大小比时,所述主机装置进一步控制所述NDP,使得所述第二操作由所述主机装置执行。
14.根据权利要求13所述的计算系统,其中,
所述NDP进一步将所述第二数据传送到所述主机装置,并且
在所述主机装置从所述NDP接收到所述第二数据时,所述主机装置进一步对所述第二数据执行所述第二操作。
15.根据权利要求10所述的计算系统,其中,在所述带宽比小于或等于所述数据大小比时,所述主机装置进一步控制所述NDP,使得所述第二操作由所述NDP执行。
16.根据权利要求15所述的计算系统,其中,所述NDP进一步通过对所述第二数据执行所述第二操作来生成第三数据,并且进一步将所述第三数据传送到所述主机装置。
17.根据权利要求10所述的计算系统,其中,所述NDP包括:
存储器控制器,控制所述存储器装置执行包括读取操作、擦除操作和编程操作的存储器操作;以及
NDP核,对从所述存储器装置接收的所述第一数据执行包括所述第一操作的处理操作。
18.一种操作主机装置的方法,所述方法包括:
向近数据处理器即NDP传送用于请求多个存储器装置中存储的原始数据的查询;
在所述NDP从所述多个存储器装置接收到所述原始数据时,控制所述NDP通过对所述原始数据执行第一操作来生成第一数据;并且
基于数据大小比和带宽比确定执行第二操作的资源,所述数据大小比是第二数据的大小与所述原始数据的大小之比,并且所述带宽比是所述NDP和所述主机装置之间的带宽与所述多个存储器装置和所述NDP之间的带宽之比。
19.根据权利要求18所述的方法,其中,确定所述资源进一步包括:
当所述带宽比大于所述数据大小比时,将所述主机装置确定为执行所述第二操作的所述资源;并且
通过对所述第一数据执行所述第二操作来生成所述第二数据。
20.根据权利要求18所述的方法,其中,确定所述资源包括:在所述带宽比小于或等于所述数据大小比时,将所述NDP确定为执行所述第二操作的所述资源。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220087714A KR20240010310A (ko) | 2022-07-15 | 2022-07-15 | 컴퓨팅 시스템 및 그 동작 방법 |
KR10-2022-0087714 | 2022-07-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117406913A true CN117406913A (zh) | 2024-01-16 |
Family
ID=89489688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310731343.4A Pending CN117406913A (zh) | 2022-07-15 | 2023-06-20 | 计算系统及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240020252A1 (zh) |
KR (1) | KR20240010310A (zh) |
CN (1) | CN117406913A (zh) |
TW (1) | TW202405651A (zh) |
-
2022
- 2022-07-15 KR KR1020220087714A patent/KR20240010310A/ko unknown
- 2022-11-30 US US18/072,159 patent/US20240020252A1/en active Pending
-
2023
- 2023-06-20 CN CN202310731343.4A patent/CN117406913A/zh active Pending
- 2023-07-14 TW TW112126410A patent/TW202405651A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
TW202405651A (zh) | 2024-02-01 |
US20240020252A1 (en) | 2024-01-18 |
KR20240010310A (ko) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10360156B2 (en) | Data storage device using host memory and method of operating same | |
US9396108B2 (en) | Data storage device capable of efficiently using a working memory device | |
US10067873B2 (en) | Data storage device and operating method thereof | |
US10719462B2 (en) | Technologies for computational storage via offload kernel extensions | |
US11269765B2 (en) | Operating method of controller and memory system | |
US11861359B2 (en) | Storage device and method of operating the same | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
CN113448511B (zh) | 通过链接阵列依序预提取 | |
US20210397364A1 (en) | Storage device and operating method thereof | |
US20220382454A1 (en) | Storage device and method of operating the same | |
CN114201108B (zh) | 包括映射高速缓存的控制器以及包括控制器的存储器系统 | |
US20210397558A1 (en) | Storage device and operating method thereof | |
US20210042257A1 (en) | Data processing system and operating method thereof | |
CN117406913A (zh) | 计算系统及其操作方法 | |
KR20220090152A (ko) | 스토리지 장치 및 그 동작 방법 | |
US20240126682A1 (en) | Storage device, electronic device including the same, and operating method thereof | |
US20230342046A1 (en) | Memory controller and memory system including the same | |
US20230384936A1 (en) | Storage device, electronic device including storage device, and operating method thereof | |
US20240012564A1 (en) | Memory controller and storage device including the same | |
US20230244402A1 (en) | Storage device and operating method of storage device | |
US11756626B2 (en) | Memory die resource management | |
US20240095181A1 (en) | Storage device, host device, and electronic device | |
US11656996B2 (en) | Controller for managing order information of data, operation method thereof, and memory system including the same | |
US11734191B2 (en) | User process identifier based address translation | |
US20230305743A1 (en) | Memory controller and memory system including the same |
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 |