人工智能存储设备和包括该存储设备的存储系统

文档序号:570118 发布日期:2021-05-18 浏览:16次 >En<

阅读说明:本技术 人工智能存储设备和包括该存储设备的存储系统 (Artificial intelligence storage device and storage system including the same ) 是由 张宰薰 孙弘乐 薛昶圭 邵惠晶 吴和锡 尹弼相 林真洙 于 2020-11-05 设计创作,主要内容包括:提供人工智能存储设备和包括该存储设备的存储系统。所述存储系统包括主机设备和存储设备。所述主机设备提供用于数据存储功能的第一输入数据和用于人工智能(AI)功能的第二输入数据。所述存储设备存储来自所述主机设备的所述第一输入数据,并且基于所述第二输入数据执行AI计算以生成计算结果数据。所述存储设备包括第一处理器、第一非易失性存储器、第二处理器和第二非易失性存储器。所述第一处理器控制所述存储设备的操作。所述第一非易失性存储器存储所述第一输入数据。所述第二处理器执行所述AI计算,并且与所述第一处理器区分开。所述第二非易失性存储器存储与所述AI计算相关联的权重数据,并且与所述第一非易失性存储器区分开。(An artificial intelligence storage device and a storage system including the same are provided. The storage system includes a host device and a storage device. The host device provides first input data for a data storage function and second input data for an Artificial Intelligence (AI) function. The storage device stores the first input data from the host device, and performs an AI calculation based on the second input data to generate calculation result data. The storage device includes a first processor, a first non-volatile memory, a second processor, and a second non-volatile memory. The first processor controls operation of the storage device. The first non-volatile memory stores the first input data. The second processor performs the AI calculation and is distinguished from the first processor. The second non-volatile memory stores weight data associated with the AI calculation and is distinct from the first non-volatile memory.)

人工智能存储设备和包括该存储设备的存储系统

相关申请的交叉引用

本申请要求于2019年11月18日在韩国知识产权局(KIPO)提交的韩国专利申请No.10-2019-0147552的优先权,其全部内容通过引用合并于此。

技术领域

示例实施例总体上涉及半导体集成电路,并且更具体地涉及人工智能(AI)存储设备以及包括该存储设备的存储系统。

背景技术

存储系统包括主机设备和存储设备。该存储设备可以是包括存储器控制器和存储器件的存储器系统,或者是仅包括存储器件的存储器系统(memory system)。在存储系统(storage system)中,主机设备和存储设备经由诸如以下各种接口标准彼此连接:例如,通用闪存(UFS)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、嵌入式多媒体卡(eMMC)等。

在计算机科学中,与例如人类所呈现的自然智能相比,有时被称为机器智能的人工智能(AI)是由机器展示的智能。通俗地,术语“AI”通常用于描述模仿与人类思维有关的“认知”功能(例如,“学习”和“问题解决”)的机器(例如,计算机)。例如,可以基于机器学习、神经网络、人工神经网络(ANN)等来实现AI。通过对在其中执行模式识别过程的人脑的细胞结构模型进行工程设计来获得ANN。ANN是指基于软件和/或硬件的计算模型,ANN被设计成通过应用许多通过连接线互连的人工神经元来模仿生物学计算能力。人脑由作为神经的基本单位的神经元组成,并根据这些神经元之间不同类型的密集连接来加密或解密信息。ANN中的人工神经元是通过简化生物神经元功能获得的。ANN通过互连具有连接强度的人工神经元来执行认知或学习过程。近来,已经研究了基于AI和/或ANN的数据处理。

发明内容

本公开的至少一个示例实施例提供了一种存储系统,该存储系统包括能够提高或增强工作效率并降低功耗的人工智能(AI)存储设备。

本公开的至少一个示例实施例提供了一种能够提高或增强工作效率并降低功耗的AI存储设备。

根据示例实施例,一种存储系统包括主机设备和存储设备。所述主机设备提供第一输入数据和第二输入数据。所述存储设备被配置为存储所述第一输入数据,并且基于所述第二输入数据执行AI计算。所述存储设备包括第一处理器、第一非易失性存储器、第二处理器和第二非易失性存储器。所述第一处理器控制所述存储设备的操作。所述第一非易失性存储器存储所述第一输入数据。所述第二处理器执行所述AI计算,并且与所述第一处理器不同。所述第二非易失性存储器存储与所述AI计算相关联的权重数据,并且与所述第一非易失性存储器不同。

根据示例实施例,一种存储设备包括第一处理器、第一非易失性存储器、第二非易失性存储器和第二处理器。所述第一处理器被配置为控制所述存储设备的操作。所述第一非易失性存储器被配置为存储用于数据存储功能的第一输入数据。所述第二非易失性存储器被配置为存储与人工智能(AI)计算相关联的权重数据,并且与所述第一非易失性存储器不同。所述第二处理器被配置为执行AI功能,并且与所述第一处理器不同。所述第二处理器被配置为加载存储在所述第二非易失性存储器中的所述权重数据,基于第二输入数据和所述权重数据执行所述AI计算,并输出计算结果数据。

根据示例实施例,一种存储系统包括:包括第一处理器和第一非易失性存储器的第一时钟/功率域,包括第二处理器和第二非易失性存储器的第二时钟/功率域,以及包括触发单元的第三时钟/功率域。所述第一非易失性存储器被配置为在第一操作模式下存储第一输入数据。所述第二非易失性存储器被配置为存储与人工智能(AI)计算相关联的权重数据,所述第二非易失性存储器与所述第一非易失性存储器不同,并且所述第二处理器被配置为在第二操作模式下基于第二输入数据执行所述AI计算,所述第二处理器与所述第一处理器不同。所述第三时钟/功率域包括触发单元,所述第三时钟/功率域与所述第一时钟/功率域和所述第二时钟/功率域不同。所述触发单元被配置为启用所述第一操作模式和所述第二操作模式。所述触发单元被配置为:在所述第一操作模式下启用所述第一处理器和所述第一非易失性存储器以存储所述第一输入数据,并使所述第二处理器和所述第二非易失性存储器处于空闲状态,以及在所述第二操作模式下启用所述第二处理器以加载存储在所述第二非易失性存储器中的所述权重数据,以基于所述第二输入数据和所述权重数据执行所述AI计算,并输出计算结果数据。

根据示例实施例的AI存储设备和存储系统可以进一步包括执行AI功能和AI计算的第二处理器。第二处理器可以独立于或不同于控制存储设备的操作的第一处理器。存储设备的AI功能可以不依赖于主机设备的控制而执行,并且可以由存储设备本身执行。存储设备可以仅接收作为AI计算的目标的第二输入数据,并且可以仅输出作为AI计算的结果的计算结果数据。因此,可以减少主机设备与存储设备之间的数据流量。另外,第一处理器和第二处理器可以彼此独立,并且由第一处理器和第二处理器访问的非易失性存储器也可以彼此独立,从而降低功耗。

附图说明

通过结合附图进行的以下详细描述,将更清楚地理解说明性的非限制性示例实施例。

图1是示出根据一些示例实施例的存储设备和包括该存储设备的存储系统的框图。

图2是示出根据一些示例实施例的存储设备中包括的存储控制器的示例的框图。

图3是示出根据一些示例实施例的存储设备中包括的非易失性存储器的示例的框图。

图4、图5A、图5B和图5C是用于描述图1的存储系统的操作的示图。

图6A、图6B和图6C是用于描述通过在根据一些示例实施例的存储设备中实现的AI功能驱动的网络结构的示例的示图。

图7、图8A和图8B是用于描述图1的存储系统的操作的示图。

图9和图10是根据一些示例实施例的用于描述在存储系统中切换操作模式的操作的示图。

图11A、图11B和图11C是根据一些示例实施例的用于描述在存储系统中传输数据的操作的示图。

图12是示出根据一些示例实施例的存储设备和包括该存储设备的存储系统的框图。

图13是示出根据一些示例实施例的操作存储设备的方法的流程图。

图14是示出根据一些示例实施例的电子系统的框图。

具体实施方式

将参照示出了实施例的附图更全面地描述各种示例实施例。然而,本公开可以以许多不同的形式来实现,并且不应被解释为限于本文所阐述的实施例。贯穿本申请,相同的附图标记指代相同的元件。

图1是示出根据一些示例实施例的存储设备和包括该存储设备的存储系统的框图。

参照图1,存储系统100包括主机设备200和存储设备300。

主机设备200被配置为控制存储系统100的整体操作。主机设备200可以包括外部接口(EXT I/F)210、主机接口(HOST I/F)220、主机存储器(HOST MEM)230、神经处理单元(NPU)240、数字信号处理器(DSP)250、中央处理单元(CPU)260、图像信号处理器(ISP)270和图形处理单元(GPU)280。

外部接口210可以被配置为与存储系统100的外部交换数据、信号、事件等。例如,外部接口210可以包括:诸如键盘、小键盘、按钮、麦克风、鼠标、触摸板、触摸屏、遥控器等的输入设备,以及诸如打印机、扬声器、显示器等的输出设备。

主机接口220可以被配置为提供主机设备200与存储设备300之间的物理连接。例如,主机接口220可以提供与主机设备200的总线格式相对应的接口,以在主机设备200与存储设备300之间进行通信。在一些示例实施例中,主机设备200的总线格式可以是通用闪存(UFS)和/或快速非易失性存储器(NVMe)。在其他示例实施例中,主机设备200的总线格式可以是小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、通用串行总线(USB)、快速外围组件互连(PCIe)、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)等。

NPU 240、DSP 250、CPU 260、ISP 270和GPU 280可以被配置为控制主机设备200的操作,并且可以处理与主机设备200的操作相关联的数据。

例如,CPU 260可以被配置为控制主机设备200的整体操作,并且可以运行操作系统(OS)。例如,由CPU 260运行的OS可以包括:用于文件管理的文件系统,以及被配置为在OS级别控制包括存储设备300的外围设备的设备驱动器。DSP 250可以被配置为处理数字信号。ISP 270可以被配置为处理图像信号。GPU 280可以被配置为处理与图形相关联的各种数据。

NPU 240可以被配置为运行和驱动神经网络系统,并且可以处理对应的数据。除了NPU 240之外,DSP 250、CPU 260、ISP 270和GPU 280中的至少一者也可以被配置为运行和驱动神经网络系统。因此,NPU 240、DSP 250、CPU 260、ISP 270和GPU 280可以被称为用于驱动神经网络系统的多个处理元件(PE)、多个资源或多个加速器,并且可以包括:处理电路,例如包括逻辑电路的硬件;硬件/软件组合,例如运行软件的处理器;或它们的组合。例如,处理电路更具体地可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、以及可编程逻辑单元、微处理器、专用集成电路(ASIC)等。

主机存储器230可以被配置为存储由NPU 240、DSP 250、CPU 260、ISP 270和/或GPU 280运行和/或处理的指令和/或数据。例如,主机存储器230可以包括诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等的各种易失性存储器中的至少一种。

在一些示例实施例中,主机设备200可以是应用处理器(AP)。例如,主机设备200可以以片上系统(SoC)的形式实现。

主机设备200可以被配置为访问存储设备300。存储设备300可以包括存储控制器310和多个非易失性存储器(NVM)320a、320b、320c和320d。尽管示出为包括四个NVM,但是示例实施例不限于此,并且可以包括更多或更少的NVM,例如五个或更多个。

存储控制器310可以被配置为基于从主机设备200接收到的命令、地址和数据,来控制存储设备300的操作和/或多个非易失性存储器320a、320b、320c和320d的操作。将参照图2描述存储控制器310的配置。

多个非易失性存储器320a、320b、320c和320d可以被配置为存储多个数据。例如,多个非易失性存储器320a、320b、320c和320d可以存储元数据、各种用户数据等。

在一些示例实施例中,多个非易失性存储器320a、320b、320c和320d均可以包括NAND闪存。在其他示例实施例中,多个非易失性存储器320a、320b、320c和320d均可以包括电可擦除可编程只读存储器(EEPROM)、相变随机存取存储器(PRAM)、电阻随机存取存储器(RRAM)、纳米浮栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)、磁随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)等之一。

在一些示例实施例中,存储设备300可以包括通用闪存(UFS)、多媒体卡(MMC)或嵌入式多媒体卡(eMMC)。在其他示例实施例中,存储设备300可以包括固态硬盘(SSD)、安全数字(SD)卡、微型SD卡、存储棒、芯片卡、通用串行总线(USB)卡、智能卡、紧凑型闪存(CF)卡等之一。

在一些示例实施例中,存储设备300可以经由块存取(block accessible)接口连接到主机设备200,该块存取接口可以包括例如UFS、eMMC、NVMe总线、SATA总线、SCSI总线、SAS总线等。存储设备300可以被配置为使用与多个非易失性存储器320a、320b、320c和320d的存取大小相对应的块存取地址空间,向主机设备200提供块存取接口,以允许以存储块为单位对存储在多个非易失性存储器320a、320b、320c和320d中的数据进行访问。

在一些示例实施例中,存储系统100可以被包括在诸如以下各种移动系统中的至少一种移动系统中:移动电话、智能电话、平板计算机、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、便携式游戏机、音乐播放器、便携式摄像机、视频播放器、导航设备、可穿戴设备、物联网(IoT)设备、万物互联(IoE)设备、电子书阅读器、虚拟现实(VR)设备、增强现实(AR)设备、机器人设备、无人机等。在其他示例实施例中,存储系统100可以被包括在诸如个人计算机(PC)、服务器计算机、数据中心、工作站、数字电视、机顶盒、导航系统等各种计算系统中的至少一种计算系统中。

根据一些示例实施例的存储设备300被实现有或配备有人工智能(AI)功能。例如,存储设备300可以被配置为用作执行数据存储功能的存储介质,并且还可以被配置为用作运行神经网络系统以执行AI功能的计算设备。

例如,存储设备300可以被配置为在第一操作模式和第二操作模式中的一种操作模式下进行操作。在第一操作模式下,存储设备300可以执行数据存储功能,例如,用于存储从主机设备200接收到的第一输入数据UDAT的写入操作,用于将存储的数据输出到主机设备200的读取操作等。在第二操作模式下,存储设备300可以执行诸如以下AI功能:基于从主机设备200接收到的第二输入数据IDAT的AI计算和/或运算(例如,用于AI的算术运算)以生成计算结果数据RDAT,将计算结果数据RDAT输出到主机设备200的操作等。虽然图1示出了仅发送数据,但是也可以发送与该数据相对应的命令、地址等。

存储控制器310可以包括第一处理器312和第二处理器314。第一处理器312可以控制存储设备300的整体操作,并且可以在第一操作模式下控制与数据存储功能相关联的操作。第二处理器314可以在第二操作模式下控制与AI功能相关联的操作、运行或计算。在图1的示例中,第一处理器312和第二处理器314可以形成或实现为一个芯片,或者可以包括:处理电路,例如包括逻辑电路的硬件;硬件/软件组合,例如运行软件的处理器;或它们的组合。例如,处理电路更具体地可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、以及可编程逻辑单元、微处理器、专用集成电路(ASIC)等。

多个非易失性存储器320a、320b、320c和320d可以包括(例如,可以被划分或分类为)至少一个第一非易失性存储器和至少一个第二非易失性存储器。第一非易失性存储器可以被配置为由第一处理器312访问,并且可以被指定或被分配为执行数据存储功能。第二非易失性存储器可以被配置为由第二处理器314访问,并且可以被指定或被分配为执行AI功能。例如,如将参照图4描述的,第一非易失性存储器可以存储第一输入数据UDAT,并且第二非易失性存储器可以存储与AI计算相关联的权重数据。

根据一些示例实施例,第一非易失性存储器和第二非易失性存储器可以形成或实现为一个芯片,或者可以形成或实现为两个独立的芯片。在一些示例实施例中,当仅由第一处理器312访问第一非易失性存储器并且仅由第二处理器314访问第二非易失性存储器时,多个非易失性存储器320a、320b、320c和320d还可以包括由第一处理器312和第二处理器314两者访问的第三非易失性存储器。

存储设备300的AI功能可以不依赖于主机设备200的控制来执行,和/或可以与主机设备200的控制单独地/独立地执行,可以由存储设备300内部和/或由存储设备300本身执行。例如,由存储设备300内部运行的神经网络系统可以独立于由主机设备200运行的神经网络系统来实现和/或驱动。存储设备300可以基于由存储设备300内部运行的神经网络系统来执行AI功能,而不受主机设备200的控制。根据示例实施例,由存储设备300内部运行的神经网络系统和由主机设备200运行的神经网络系统可以是相同类型或不同类型。

传统的存储设备未实现或未配备AI功能,而是使用主机设备中包括的资源或加速器执行AI功能。当要执行包括相对少量计算的AI功能时,将使用主机设备中包括的相对大的资源来执行相对少量的计算。在这种情况下,功耗会增加,主机设备与存储设备之间的数据流量可能会超过计算量,因此可能会出现瓶颈。结果,当要执行包括相对少量计算的AI功能时,在主机设备上执行AI功能可能非常低效。

根据一些示例实施例的存储设备300可以被配置为实现AI功能,并且存储设备300还可以包括执行AI功能和AI计算的第二处理器314。第二处理器314可以独立于或不同于控制存储设备300的操作的第一处理器312。存储设备300的AI功能可以不依赖于主机设备200的控制来执行,并且可以通过存储设备300本身执行。存储设备300可以例如被配置为仅接收作为AI计算的目标的第二输入数据IDAT,并且可以被配置为仅输出作为AI计算的结果的计算结果数据RDAT。因此,可以减少主机设备200与存储设备300之间的数据流量。另外,第一处理器312和第二处理器314可以彼此独立,并且由第一处理器312和第二处理器314访问的非易失性存储器也可以彼此独立,从而降低功耗。

图2是示出根据一些示例实施例的存储设备中包括的存储控制器的示例的框图。

参照图2,存储控制器400可以包括第一处理器410、第二处理器420、缓冲存储器430、主机接口440、纠错码(ECC)块450和存储器接口460。

第一处理器410可以被配置为响应于经由主机接口440从主机设备(例如,图1中的主机设备200)接收到的命令来控制存储控制器400的操作。在一些示例实施例中,第一处理器410可以通过采用用于操作存储设备(例如,图1中的存储设备300)的固件来控制各个组件。

第一处理器410可以被配置为控制与数据存储功能相关联的操作,并且第二处理器420可以控制与AI功能和AI计算相关联的操作。图2中的第一处理器410和第二处理器420可以分别与图1中的第一处理器312和第二处理器314相同或相似。例如,第一处理器410可以是CPU,第二处理器420可以是NPU,或者可以包括:处理电路,例如包括逻辑电路的硬件;硬件/软件组合,例如运行软件的处理器;或它们的组合。

在一些示例实施例中,第二处理器420可以是NPU,并且存储控制器400中包括的NPU可以小于主机设备200中包括的NPU(例如,图1中的NPU 240)。例如,第二处理器420可以具有小于NPU 240的数据吞吐量、算术容量、功耗等。

缓冲存储器430可以被配置为存储由第一处理器410和第二处理器420运行和处理的指令和数据。例如,缓冲存储器430可以由具有相对小容量和高速的易失性存储器(例如,静态随机存取存储器(SRAM)、高速缓存存储器等)来实现。

ECC块450被配置为纠错并且可以被配置为例如通过使用Bose-Chaudhuri-Hocquenghem(BCH)码、低密度奇偶校验(LDPC)码、turbo码、Reed-Solomon码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、块编码调制(BCM)等中的至少一种来执行编码调制,或者可以使用上述码和/或其他纠错码执行ECC编码和ECC解码。

主机接口440可以被配置为提供主机设备200与存储设备300之间的物理连接。例如,主机接口440可以提供与主机的总线格式相对应的接口以用于主机设备200与存储设备300之间的通信。主机接口440的总线格式可以与图1中的主机接口220的总线格式相同或相似。

存储器接口460可以被配置为与非易失性存储器(例如,图1中的非易失性存储器320a、320b、320c和320d)交换数据。存储器接口460可以被配置为向非易失性存储器320a、320b、320c和320d发送数据,和/或可以被配置为接收从非易失性存储器320a、320b、320c和320d读取的数据。在一些示例实施例中,存储器接口460可以经由一个通道连接到非易失性存储器320a、320b、320c和320d。在其他示例实施例中,存储器接口460可以经由两个或更多个通道连接到非易失性存储器320a、320b、320c和320d。

图3是示出根据一些示例实施例的存储设备中包括的非易失性存储器的示例的框图。

参照图3,非易失性存储器500包括存储单元阵列510、行译码器520、页面缓冲电路530、数据输入/输出(I/O)电路540、电压发生器550和控制电路560。

存储单元阵列510可以经由多条串选择线SSL、多条字线WL和多条接地选择线GSL连接到行译码器520。存储单元阵列510还可以经由多条位线BL连接到页面缓冲电路530。存储单元阵列510可以包括连接到多条字线WL和多条位线BL的多个存储单元(例如,多个非易失性存储单元)。存储单元阵列510可以被分为均包括存储单元的多个存储块BLK1、BLK2、…、BLKz。另外,多个存储块BLK1、BLK2、…、BLKz均可以被划分为多个页面。

在一些示例实施例中,可以以二维(2D)阵列结构和/或三维(3D)垂直阵列结构布置多个存储单元。三维垂直阵列结构可以包括被垂直取向成使得至少一个存储单元位于另一存储单元上方的垂直单元串。至少一个存储单元可以包括电荷俘获层。通过引用将以下专利文件整体合并于此:美国专利号为:7,679,133;8,553,466;8,654,587;8,559,235;美国专利公开号为:2011/0233648,这些专利文件描述了包括3D垂直阵列结构的存储单元阵列的合适配置,其中三维存储阵列被配置为多个层级,并且在这些层级之间共享字线和/或位线。

控制电路560可以被配置为从外部(例如,图1中的主机设备200和/或存储控制器310)接收命令CMD和地址ADDR,并且可以被配置为基于命令CMD和地址ADDR控制非易失性存储器500的擦除、编程和读取操作。擦除操作可以包括一系列擦除循环,编程操作可以包括一系列编程循环。每个编程循环可以包括编程操作和编程验证操作。每个擦除循环可以包括擦除操作和擦除验证操作。读取操作可以包括正常读取操作和数据恢复读取操作。

例如,控制电路560可以被配置为基于命令CMD生成用于控制电压发生器550的控制信号CON,并且可以生成用于控制页面缓冲电路530的控制信号PBC,以及可以基于地址ADDR生成行地址R_ADDR和列地址C_ADDR。控制电路560可以将行地址R_ADDR提供给行译码器520,并且可以将列地址C_ADDR提供给数据I/O电路540。

行译码器520可以经由多条串选择线SSL、多条字线WL和多条接地选择线GSL连接到存储单元阵列510。

例如,在数据擦除/写入/读取操作中,行译码器520可以基于行地址R_ADDR,将多条字线WL中的至少一条字线确定为选定字线,并且可以将多条字线WL中的除了选定字线之外的剩余和/或其余字线确定为未选字线。

另外,在数据擦除/写入/读取操作中,行译码器520可以基于行地址R_ADDR,将多条串选择线SSL中的至少一条串选择线确定为选定串选择线,并且可以将多条串选择线SSL中的除了选定串选择线之外的剩余或其余串选择线确定为未选串选择线。

此外,在数据擦除/写入/读取操作中,行译码器520可以基于行地址R_ADDR,将多条接地选择线GSL中的至少一条接地选择线确定为选定接地选择线,并且可以将多条接地选择线GSL中的除了选定接地选择线之外的剩余或其余接地选择线确定为未选接地选择线。

电压发生器550可以被配置为基于功率PWR和控制信号CON,产生用于非易失性存储器500的操作的电压VS。电压VS可以经由行译码器520施加到多条串选择线SSL、多条字线WL和多条接地选择线GSL。另外,电压发生器550可以被配置为基于功率PWR和控制信号CON,产生用于数据擦除操作的擦除电压VERS。擦除电压VERS可以直接地或经由位线BL被施加到存储单元阵列510。

例如,在擦除操作期间,电压发生器550可以将擦除电压VERS施加到存储块(例如,选定存储块)的公共源极线和/或位线BL,并且可以经由行译码器520将擦除许可电压(例如,地电压)施加到存储块的所有字线或部分字线。另外,在擦除验证操作期间,电压发生器550可以将擦除验证电压同时施加到存储块的所有字线,或者顺序地逐条施加到字线。

例如,在编程操作期间,电压发生器550可以经由行译码器520将编程电压施加到选定字线,并且可以将编程通过电压施加到未选字线。此外,在编程验证操作期间,电压发生器550可以经由行译码器520将编程验证电压施加到选定字线,并且可以将验证通过电压施加到未选字线。

另外,在正常读取操作期间,电压发生器550可以经由行译码器520将读取电压施加到选定字线并且可以将读取通过电压施加到未选字线。在数据恢复读取操作期间,电压发生器550可以经由行译码器520将读取电压施加到与选定字线相邻的字线,并且可以将恢复读取电压施加到选定字线。

页面缓冲电路530可以经由多条位线BL连接到存储单元阵列510。页面缓冲电路530可以包括多个页面缓冲器。在一些示例实施例中,每个页面缓冲器可以连接到一条位线。在其他示例实施例中,每个页面缓冲器可以连接到两条或更多条位线。

页面缓冲电路530可以将要被编程的数据DAT存储到存储单元阵列510中,或者可以读取从存储单元阵列510感测到的数据DAT。例如,页面缓冲电路530可以根据非易失性存储器500的操作模式用作写入驱动器或读出放大器。

数据I/O电路540可以经由数据线DL连接到页面缓冲电路530。数据I/O电路540可以被配置为基于列地址C_ADDR,经由页面缓冲电路530将来自非易失性存储器500的外部的数据DAT提供给存储单元阵列510,或者可以将来自存储单元阵列510的数据DAT提供到非易失性存储器500的外部。

图4、图5A、图5B和图5C是用于描述图1的存储系统的操作的示图。图4示出了存储系统100在第一操作模式下的操作。图5A、图5B和图5C示出了存储系统100在第二操作模式下的操作。为了便于说明,省略了存储设备的所有组件当中的与图示的示例实施例的描述不太相关的组件。

参照图4,图4中的主机设备200可以与图1中的主机设备200相同或相似。图4中的存储设备300a可以包括主机接口440、第一处理器410、第一存储器接口462、第一非易失性存储器322、第二处理器420、第二存储器接口464和第二非易失性存储器324。

图4中的主机接口440、第一处理器410和第二处理器420可以分别与图2中的主机接口440、第一处理器410和第二处理器420相同或相似。第一存储器接口462和第二存储器接口464可以被包括在图2的存储器接口460中。第一非易失性存储器322和第二非易失性存储器324可以被包括在图1的多个非易失性存储器320a、320b、320c和320d中。主机接口440可以被包括在第一时钟/功率域DM1中。第一处理器410、第一存储器接口462和第一非易失性存储器322可以被包括在与第一时钟/功率域DM1不同且区分开的第二时钟/功率域DM2中。第二处理器420、第二存储器接口464和第二非易失性存储器324可以被包括在与第一时钟/功率域DM1和第二时钟/功率域DM2不同且区分开的第三时钟/功率域DM3中。

在第一操作模式下,可以从主机设备200的主机接口220提供第一输入数据UDAT,并且存储设备300a可以接收第一输入数据UDAT。例如,第一输入数据UDAT可以是由NPU240、DSP 250、CPU 260、ISP 270和GPU 280中的至少一者处理的任何用户数据。

存储设备300a可以对第一输入数据UDAT执行数据存储功能。例如,可以通过主机接口440和第一存储器接口462发送第一输入数据UDAT并将其存储在第一非易失性存储器322中。尽管基于写入操作描述了数据存储功能,但是示例实施例不限于此,并且可以执行读取操作以将存储在第一非易失性存储器322中的数据UDAT提供给主机设备200。

在图4所示的第一操作模式下,主机接口440、第一处理器410和第二处理器420、第一存储器接口462和第二存储器接口464以及第一非易失性存储器322和第二非易失性存储器324可以全部被启用或激活。然而,示例实施例不限于此,并且第二处理器420、第二存储器接口464和第二非易失性存储器324可以在第一操作模式下处于空闲状态,如将参照图7描述的。

参照图5A,在第二操作模式下,可以从主机设备200的外部接口210和主机接口220提供第二输入数据IDAT,并且存储设备300a可以接收第二输入数据IDAT。例如,第二输入数据IDAT可以是作为AI计算的目标的任何推理数据(inference data)。例如,当AI功能是语音识别时,第二输入数据IDAT可以是从包括在外部接口210中的麦克风接收到的语音数据。对于另一示例,当AI功能是图像识别时,第二输入数据IDAT可以是从包括在外部接口210中的相机接收到的图像数据。第二输入数据IDAT可以通过主机接口440被发送到第二处理器420。

在第二操作模式下,主机接口440、第二处理器420、第二存储器接口464和第二非易失性存储器324可以被启用或可以处于激活状态,并且第一处理器410、第一存储器接口462和第一非易失性存储器322可以从激活状态切换或改变成空闲状态(例如,休眠、省电或掉电状态)。在图5A及随后的附图中,处于空闲状态的组件用阴影图案示出。仅第一处理器410、第一存储器接口462和第一非易失性存储器322可以被包括在独立的时钟/功率域DM2中,使得仅第一处理器410、第一存储器接口462和第一非易失性存储器322被切换到空闲状态,因此在第二操作模式下可以降低功耗。

参照图5B,在第二操作模式下,第二处理器420可以加载存储在第二非易失性存储器324中的权重数据WDAT。可以通过第二存储器接口464向第二处理器420发送权重数据WDAT。例如,权重数据WDAT可以表示作为预训练参数并且被包括在神经网络系统的多个层中的多个权重参数。权重数据WDAT可以被预训练成适合于或适于神经网络系统,并且可以被预先存储在第二非易失性存储器324中。

在一些示例实施例中,权重数据WDAT可以连续地、依次地和/或顺序地被存储在第二非易失性存储器324中。在该示例中,第二处理器420可以仅使用存储权重数据WDAT的起始位置(例如,起始地址)和权重数据WDAT的大小,直接加载权重数据WDAT,而无需闪存转换层(FTL)操作。

在一些示例实施例中,神经网络系统包括例如以下各种神经网络系统和/或机器学习系统中的至少一种:人工神经网络(ANN)系统、卷积神经网络(CNN)系统、深度神经网络(DNN)系统、深度学习系统等。这样的机器学习系统可以包括诸如以下多种学习模型:卷积神经网络(CNN)、反卷积神经网络、可选地包括长短期记忆(LSTM)单元和/或门控循环单元(GRU)的循环神经网络(RNN)、堆叠神经网络(SNN)、状态空间动态神经网络(SSDNN)、深度信念网络(DBN)、生成对抗网络(GAN)和/或受限玻尔兹曼机器(RBM)。作为另外的选择或另外地,这样的机器学习系统可以包括诸如以下其他形式的机器学习模型:例如,线性和/或逻辑回归、统计聚类、贝叶斯分类、决策树、诸如主成分分析的降维以及专家系统;和/或它们的组合,包括诸如随机森林的集合(ensemble)。这样的机器学习模型还可以用于提供例如以下各种服务和/或应用程序中的至少一种:图像分类服务、基于生物信息或生物特征数据的用户身份验证服务、高级驾驶员辅助系统(ADAS)服务、语音助手服务、自动语音识别(ASR)服务等,并且可以由主机设备200和/或存储设备300a执行、运行或处理。将参照图6A、图6B和图6C描述神经网络系统的配置。

参照图5C,在第二操作模式下,第二处理器420可以基于图5C中接收到的第二输入数据IDAT和图5B中加载的权重数据WDAT来执行AI计算,以生成计算结果数据RDAT,并且可以将计算结果数据RDAT发送到主机设备200。可以通过主机接口440将计算结果数据RDAT发送到主机设备200。例如,计算结果数据RDAT可以表示由神经网络系统执行的乘积累加(MAC)运算的结果。

如参照图5A、图5B和图5C所描述的,第二处理器420可以被配置为在存储设备300a中单独地和/或独立地执行AI功能,并且权重数据WDAT可以仅在存储设备300a内部使用并且可以不被发送到主机设备200。例如,存储设备300a可以仅与主机设备200交换作为AI计算目标的第二输入数据IDAT和作为AI计算结果的计算结果数据RDAT。通常,权重数据WDAT的大小可以比第二输入数据IDAT的大小和计算结果数据RDAT的大小大得多。因此,由于在存储设备300a中实现了AI功能,因此可以减小主机设备200与存储设备300a之间的数据流量,并且还可以减小主机设备200的计算量和主机存储器230的使用率。

图6A、图6B和图6C是用于描述由在根据一些示例实施例的存储设备中实现的AI功能驱动的网络结构的示例的示图。

参照图6A,一般神经网络(例如,ANN)可以包括输入层IL、多个隐藏层HL1、HL2、…、HLn以及输出层OL。

输入层IL可以包括i个输入节点x1、x2、…、xi,其中i是自然数。长度为i的输入数据(例如,向量输入数据)IDAT可以输入到输入节点x1、x2、…、xi,使得输入数据IDAT的每个元素被输入到输入节点x1、x2、…、xi中的相应的输入节点。

多个隐藏层HL1、HL2、…、HLn可以包括n个隐藏层,其中n是自然数,并且可以包括多个隐藏节点h1 1、h1 2、h1 3、…、h1 m,h2 1、h2 2、h2 3、…、h2 m,hn 1、hn 2、hn 3、…、hn m。例如,隐藏层HL1可以包括m个隐藏节点h1 1、h1 2、h1 3、…、h1 m,隐藏层HL2可以包括m个隐藏节点h2 1、h2 2、h2 3、…、h2 m,隐藏层HLn可以包括m个隐藏节点hn 1、hn 2、hn 3、…、hn m,其中m是自然数。

输出层OL可以包括j个输出节点y1、y2、…、yj,其中j是自然数。输出节点y1、y2、…、yj中的每一个可以对应于要分类的类别中的相应的类别。输出层OL可以针对每个类别输出与输入数据IDAT相关联的输出值ODAT(例如,类别分数或简单分数)。输出层OL可以被称为全连接层,并且可以指示例如输入数据IDAT对应于汽车的概率。

图6A所示的神经网络的结构可以通过节点之间的图示为线的分支(或连接)有关的信息以及分配给每个分支的权重值(未示出)来表示。一层内的节点可以不直接彼此连接,但是不同层的节点可以完全地或部分地彼此连接。

每个节点(例如,节点h1 1)可以被配置为接收先前节点(例如,节点x1)的输出,以对接收到的输出执行计算操作、运算和/或计算,并且将计算操作、运算和/或计算的结果输出到之后节点(例如,节点h2 1)。每个节点可以通过将输入应用于特定函数(例如,非线性函数)来计算要输出的值。

通常,神经网络的结构被预先设置,并且使用对于其所属类别具有已知答案的数据来适当地设置用于节点之间的连接的权重值。具有已知答案的数据被称为“训练数据”,并且确定权重值的过程被称为“训练”。神经网络在训练过程中进行“学习”。一组可独立训练的结构和权重值被称为“模型”,通过具有确定的权重值的模型预测输入数据属于哪个类别然后输出预测值的过程被称为“测试”过程。

图6A所示的一般神经网络可能不适合处理输入图像数据(或输入声音数据),因为每个节点(例如,节点h1 1)都连接到上一层的所有节点(例如,包括在层IL中的节点x1、x2、…、xi),并且随着输入图像数据的大小增加,权重值的数量急剧增加。因此,已经研究了通过将滤波技术与一般神经网络相结合实现的CNN,从而通过CNN有效地训练二维图像(例如,输入图像数据)。

参照图6B,CNN可以包括多个层CONV1、RELU1、CONV2、RELU2、POOL1、CONV3、RELU3、CONV4、RELU4、POOL2、CONV5、RELU5、CONV6、RELU6、POOL3和FC。

与一般神经网络不同,CNN的每一层可以具有宽度、高度和深度三个维度,因此输入到每一层的数据可以是具有宽度、高度和深度三个维度的体数据。例如,如果图6B中的输入图像的大小为32宽度(例如,32个像素)和32高度以及三个颜色通道R、G和B,与输入图像相对应的输入数据IDAT的大小可以为32*32*3。图6B中的输入数据IDAT可以被称为输入体数据或输入激活体。

卷积层CONV1、CONV2、CONV3、CONV4、CONV5和CONV6均可以被配置为对输入体数据执行卷积运算。例如,在图像处理时,卷积运算表示这样的运算:基于具有权重值的掩码来处理图像数据,并且通过将输入值与权重值相乘并将全部的乘积值相加来获得输出值。掩码可以被称为滤波器、窗口或内核。

每个卷积层的参数可以由可学习的滤波器的集合组成。每个滤波器在空间上(沿宽度和高度)可以很小,但是可以延伸到输入体的整个深度。例如,在前向通过期间,每个滤波器可以在输入体的宽度和高度上滑动(例如,卷积),并且可以在任何位置处计算滤波器的条目与输入之间的点积。当滤波器在输入体的宽度和高度上滑动时,会生成给出该滤波器在每个空间位置的响应的二维激活图。结果,可以通过沿着深度维度堆叠这些激活图来产生输出体。例如,如果大小为32*32*3的输入体数据通过具有含有零填充的四个滤波器的卷积层CONV1,则卷积层CONV1的输出体数据的大小可以为32*32*12(例如,体数据的深度增大)。

RELU层RELU1、RELU2、RELU3、RELU4、RELU5和RELU6均可以被配置为执行修正线性单元(rectified linear unit,RELU)运算,该修正线性单元对应于由例如函数f(x)=max(0,x)(例如,所有负输入x的输出均为零)定义的激活函数。例如,如果大小为32*32*12的输入体数据通过RELU层RELU1以执行修正线性单元运算,则RELU层RELU1的输出体数据的大小可以为32*32*12(例如,体数据的大小保持)。

池化层POOL1、POOL2和POOL3均可以被配置为沿着宽度和高度的空间维度对输入体数据执行下采样运算。例如,可以基于2*2滤波器将以2*2矩阵形式布置的四个输入值转换成一个输出值。例如,可以基于2*2最大池来选择以2*2矩阵形式布置的四个输入值的最大值,或者可以基于2*2平均池化获得以2*2矩阵形式布置的四个输入值的平均值。例如,如果尺寸为32*32*12的输入体数据通过具有2*2滤波器的池化层POOL1,则池化层POOL1的输出体数据的大小可以为16*16*12(例如,体数据的宽度和高度减小,体数据的深度保持)。

通常,一个卷积层(例如,CONV1)和一个RELU层(例如,RELU1)可以形成CNN中的一对CONV/RELU层,成对的CONV/RELU层可以重复地布置在CNN中,并且可以将池化层周期性地插入在CNN中,从而减小图像的空间大小并提取图像的特征。

输出层或全连接层FC可以针对每个类别输出输入体数据IDAT的结果(例如,类别分数)。例如,当重复卷积运算和下采样运算时,可以将与二维图像相对应的输入体数据IDAT转换成一维矩阵或向量。例如,全连接层FC可以表示输入体数据IDAT对应于汽车、卡车、飞机、轮船和马的概率。

CNN中包括的层的类型和数目可以不限于参照图6B描述的示例,而是可以根据示例实施例进行改变。另外,尽管在图6B中未示出,但是CNN还可以包括其他层,例如,用于将与预测结果相对应的分数值转换成概率值的软性最大(softmax)层、用于添加至少一个偏置的偏置添加层等。

参照图6C,RNN可以包括使用在图6C的左侧示出的特定节点或单元N的重复结构。

在图6C的右侧示出的结构可以表示左侧所示的RNN的循环连接被展开(或铺开)。术语“展开”是指针对包括所有节点NA、NB和NC的完整序列或整个序列写出或示出网络。例如,如果感兴趣的序列是3个单词的句子,则RNN可以展开成3层神经网络,每个单词一层(例如,没有递归连接或没有循环)。

在图6C的RNN中,X表示RNN的输入。例如,Xt可以是在时间步t处的输入,而Xt-1和Xt+1可以分别是在时间步t-1和t+1处的输入。

在图6C的RNN中,S表示隐藏状态。例如,St可以是在时间步t处的隐藏状态,并且St-1和St+1可以分别是在时间步t-1和t+1处的隐藏状态。可以基于先前隐藏状态和在当前步处的输入来计算隐藏状态。例如,St=f(UXt+WSt-1)。例如,函数f通常可以是诸如tanh或RELU的非线性函数。计算第一隐藏状态所需的S-1通常可以被初始化为全零。

在图6C的RNN中,O表示RNN的输出。例如,Ot可以是在时间步t处的输出,并且Ot-1和Ot+1可以分别是在时间步t-1和t+1处的输出。例如,如果需要预测句子中的下一个单词,那么它将是整个词汇表中概率的向量。例如,Ot=softmax(VSt)。

在图6C的RNN中,隐藏状态可以是网络的“存储器”。例如,RNN可以具有捕获关于到目前为止已经计算出的结果的信息“存储器”。隐藏状态St可以捕获关于在所有先前时间步中发生的事情的信息。可以仅基于在当前时间步t处的存储器来计算输出Ot。另外,与在每一层使用不同参数的传统神经网络不同,RNN可以在所有时间步共享相同的参数(例如,图6C中的U、V和W)。这可以表示如下事实:可以在每一步执行相同的任务,只是使用不同的输入。这可以大大减少需要训练或学习的参数的总数量。

在一些示例实施例中,参照图6A、图6B和图6C描述的神经网络系统可以执行、运行或处理各种服务和/或应用(例如,图像分类服务、基于生物信息或生物特征数据的用户认证服务、高级驾驶员辅助系统(ADAS)服务、语音助手服务、自动语音识别(ASR)服务等)中的至少一种。

图7、图8A和图8B是用于描述图1的存储系统的操作的示图。将省略与图4、图5A、图5B和图5C重复的描述。

参照图7,图7中的主机设备200可以与图1中的主机设备200基本相同或相似。除了图7中的存储设备300b还包括触发单元(TRG)470之外,存储设备300b可以与图4中的存储设备300a基本相同或相似。

触发单元470可以被配置为当存储设备300b的操作模式从第一操作模式变成第二操作模式时,启用和/或激活第二处理器420、第二存储器接口464和/或第二非易失性存储器324。触发单元470可以被包括在与第一时钟/功率域DM1、第二时钟/功率域DM2和第三时钟/功率域DM3不同且区分开的第四时钟/功率域DM4中。根据一些示例实施例,触发单元470和第二处理器420可以形成或实现为一个芯片或两个独立的芯片。在一个示例中,触发单元470可以被配置为启用/激活/触发第一操作模式和第二操作模式。

在第一操作模式下,可以从主机设备200的主机接口220提供第一输入数据UDAT,并且存储设备300b可以被配置为接收第一输入数据UDAT。存储设备300b可以被配置为对第一输入数据UDAT执行数据存储功能。

在图7所示的第一操作模式下,主机接口440、第一处理器410、第一存储器接口462、第一非易失性存储器322和触发单元470可以处于激活状态,并且第二处理器420、第二存储器接口464和第二非易失性存储器324可以处于空闲状态。仅第二处理器420、第二存储器接口464和第二非易失性存储器324可以被包括在独立的时钟/功率域DM3中,使得只有第二处理器420、第二存储器接口464和第二非易失性存储器324处于空闲状态,因此可以在第一操作模式下降低功耗。

参照图8A,在第二操作模式下,可以从主机设备200的外部接口210和主机接口220提供第二输入数据IDAT,并且存储设备300b可以被配置为接收第二输入数据IDAT。可以通过主机接口440向触发单元470发送第二输入数据IDAT。

参照图8B,触发单元470可以产生唤醒信号WK,以启用第二处理器420、第二存储器接口464和第二非易失性存储器324,并且可以在第二处理器420、第二存储器接口464和第二非易失性存储器324被启用之后,将第二输入数据IDAT提供给第二处理器420。

在第二操作模式下,主机接口440和触发单元470可以处于激活状态,并且第二处理器420、第二存储器接口464和第二非易失性存储器324可以从空闲状态切换到激活状态。另外,与参照图5A描述的内容类似,第一处理器410、第一存储器接口462和第一非易失性存储器322可以从激活状态切换到空闲状态。

在图8B的操作之后,加载权重数据WDAT并生成/发送计算结果数据RDAT的操作可以与参照图5B和图5C描述的操作类似。

图9和图10是用于描述根据示例实施例的在存储系统中切换操作模式的操作的示图。

参照图9,可以基于从主机设备202提供给存储设备302的模式设置信号MSS来切换存储设备302的操作模式或者可以启用或激活存储设备302的特定操作模式。

例如,主机设备202可以包括多个第一引脚P1以及与多个第一引脚P1不同的第二引脚P2,并且存储设备302可以包括多个第三引脚P3以及与多个第三引脚P3不同的第四引脚P4。可以在多个第一引脚P1与多个第三引脚P3之间形成用于将多个第一引脚P1与多个第三引脚P3连接的多个第一信号线SL1,可以在第二引脚P2与第四引脚P4之间形成用于将第二引脚P2与第四引脚P4连接的第二信号线SL2。例如,引脚可以是接触垫或接触引脚,但是示例实施例不限于此。

多个第一引脚P1、多个第三引脚P3和多个第一信号线SL1可以形成主机设备202与存储设备302之间的通用接口,并且可以被配置为交换图1所示的第一输入数据UDAT、第二输入数据IDAT和计算结果数据RDAT。

第二引脚P2、第四引脚P4和第二信号线SL2可以与主机设备202与存储设备302之间的通用接口独立地并且另外地形成,并且可以被物理地添加以用于模式设置信号MSS。例如,模式设置信号MSS可以通过第二引脚P2和第四引脚P4传输,并且第二引脚P2和第四引脚P4可以仅用于传输模式设置信号MSS。例如,第二引脚P2和第四引脚P4均可以是通用输入/输出(GPIO)引脚。

参照图10,可以将存储设备304的特定存储空间S4指定或分配给用于启用或激活AI功能的特殊功能寄存器(SFR)区域,并且可以基于从主机设备204提供给存储设备304的地址SADDR和设置数据SDAT,切换存储设备304的操作模式或者启用或激活存储设备304的特定操作模式。

例如,主机设备204可以包括多个第一引脚P1,存储设备304可以包括多个第三引脚P3,并且可以在多个第一引脚P1与多个第三引脚P3之间形成多个第一信号线SL1。图10中的多个第一引脚P1、多个第三引脚P3和多个第一信号线SL1可以分别与图9中的多个第一引脚P1、多个第三引脚P3和多个第一信号线SL1相同或相似。

存储设备304的存储空间可以包括或可以分为:用于OS的第一存储空间S1,用于用户数据的第二存储空间S2,用于权重数据的第三存储空间S3,用于AI功能的第四存储空间S4等。当将第四存储空间S4的地址SADDR和用于启用或停用AI功能的设置数据SDAT提供给存储设备304时,可以启用或停用第二操作模式。

例如,当改变或切换根据示例实施例的存储设备的操作模式时,用于模式设置信号MSS的引脚P2和P4可以被物理地添加到通用接口(如图9所示),或者在使用通用接口时特定的地址和存储空间可以被指定并被用于切换操作模式(如图10所示)。

尽管在图9和图10中未示出,但是在存储设备中使用的命令字段中的未用命令字段可以被指定并被用于切换操作模式。

图11A、图11B和图11C是用于描述根据一些示例实施例的在存储系统中传输数据的操作的示图。

参照图11A,示出了基于神经网络服务运行语音识别服务的示例,例如,第二输入数据IDAT是从包括在外部接口210中的麦克风接收到的语音数据VDAT的示例。

参照图11B,示出了当语音数据VDAT被实时采样和发送时主机设备200与存储设备300之间的接口IF1。最初存在空闲间隔TID1,然后顺序地传输采样数据D1、D2、D3、D4、D5、D6、D7、D8、D9、D10、D11和D12。在这种情况下,以相对慢的速率(例如约24kHz)传输大小相对小的采样数据D1至D12,其中不传输数据的时间间隔TA短于参考时间,因此主机设备200与存储设备300之间的接口(例如,主机接口220和440)在时间间隔TA期间不会进入休眠状态。

参照图11C,示出了当语音数据VDAT被采样并且采样数据D1至D12以预定数目被收集并被传输时,主机设备200与存储设备300之间的接口IF2。最初可以存在空闲间隔TID2,然后可以一次收集并传输采样数据D1至D12中的三个采样数据。与图11B的操作相比,不传输数据的时间间隔TH可以比参考时间长,因此,主机设备200与存储设备300之间的接口(例如,主机接口220和440)可以在时间间隔TH期间进入休眠状态。

图12是示出根据示例实施例的存储设备和包括该存储设备的存储系统的框图。将省略与图1重复的描述。

参照图12,存储系统100c包括主机设备200和存储设备300c。

图12的存储系统100c可以与图1的存储系统100相同或相似,除了改变了存储设备300c中包括的存储控制器310c的配置之外。

存储控制器310c包括第一处理器312。第二处理器314位于或被设置在存储控制器310c的外部。在图12的示例中,第一处理器312和第二处理器314可以形成或实现为两个独立的芯片。

在一些示例实施例中,当存储系统100c还包括触发单元(例如,图7中的触发单元470)时,触发单元470和第二处理器420可以形成或实现为一个芯片或两个独立的芯片。

图13是示出根据一些示例实施例的操作存储设备的方法的流程图。

参照图1和图13,在根据一些示例实施例的操作存储设备的方法中,存储设备300被配置为在第一操作模式下执行数据存储功能(步骤S100)。例如,第一处理器312可以将用户数据存储在第一非易失性存储器322中,或者可以读取存储在第一非易失性存储器322中的用户数据。

存储设备300在第二操作模式下执行AI功能。例如,第二处理器314可以从主机设备200接收推理数据(步骤S210),可以从第二非易失性存储器324加载权重数据(步骤S220),可以基于推理数据和权重数据执行AI计算,以生成计算结果数据(步骤S230),并且可以向主机设备200发送计算结果数据(步骤S240)。

在一些示例实施例中,主机设备200和存储设备300可以分别运行或驱动神经网络系统,并且根据示例实施例,可以在存储系统100中集成运行结果。例如,存储系统100可以用于同时驱动和计算两个或更多个神经网络系统以执行复杂的推导运算。例如,当执行声音或语音识别时,主机设备200可以驱动CNN以识别嘴唇运动,而存储设备300可以驱动RNN以识别声音或语音本身,然后可以将这些识别结果集成以提高识别精度。

图14是示出根据一些示例实施例的电子系统的框图。

参照图14,电子系统4000包括至少一个处理器4100、通信模块4200、显示/触摸模块4300、存储设备4400和存储装置4500。例如,电子系统4000可以是任何移动系统或任何计算系统。

处理器4100被配置为控制电子系统4000的操作。例如,处理器4100可以运行OS和至少一个应用程序以提供互联网浏览器、游戏、视频等。通信模块4200被配置为执行与外部系统的无线或有线通信。显示/触摸模块4300被配置为显示由处理器4100处理过的数据和/或通过触摸面板接收数据。存储设备4400被配置为存储用户数据。存储装置4500临时存储用于处理电子系统4000的操作的数据。处理器4100和存储设备4400可以分别对应于图1中的主机设备200和存储设备300。

本发明构思可以应用于包括存储设备和存储系统的各种电子设备和/或系统。例如,本发明构思可以应用于诸如以下系统:移动电话、智能电话、平板计算机、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、便携式游戏机、音乐播放器、便携式摄像机、视频播放器、导航设备、可穿戴设备、物联网(IoT)设备、万物互联(IoE)设备、电子书阅读器、虚拟现实(VR)设备、增强现实(AR)设备、机器人设备、无人机等。

前述内容是一些示例实施例的说明,并且不应解释为对其的限制。尽管已经描述了一些示例实施例,但是本领域技术人员将容易理解,在实质上不脱离示例实施例的新颖性教导和优点的情况下,可以对示例实施例进行许多修改。因此,所有这些修改旨在被包括在如权利要求所限定的示例实施例的范围内。因此,应理解,前述内容是各种示例实施例的说明,并且不应解释为限于所公开的特定示例实施例,并且对所公开的示例实施例以及其他示例实施例的修改旨在包括在所附权利要求书的范围内。

40页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种嵌入式存储器的参数测试的分类筛选方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!