首页 / 专利库 / 核能 / 核能电厂 / 核反应堆 / 堆芯 / 半导体器件

半导体器件

阅读:567发布:2020-05-11

专利汇可以提供半导体器件专利检索,专利查询,专利分析的服务。并且本公开提供一种 半导体 器件。所述半导体器件包括:处理器核,处理程序数据;第一 存储器 ,与处理器核安装在同一 半导体芯片 上;第二存储器,包括具有第一 磁性 隧道结结构的磁阻 随机存取存储器 单元;第三存储器,包括具有与第一磁性隧道结结构不同的第二磁性隧道结结构的 磁阻随机存取存储器 单元,其中处理器核基于程序数据的属性选择性地将程序数据存储在第一存储器、第二存储器及第三存储器中的一者中。,下面是半导体器件专利的具体信息内容。

1.一种半导体器件,包括:
处理器核,安装在半导体芯片上,且被配置成处理程序数据;
第一存储器,安装在所述半导体芯片上;
第二存储器,包括具有第一磁性隧道结结构的磁阻随机存取存储器单元;
第三存储器,包括具有与所述第一磁性隧道结结构不同的第二磁性隧道结结构的磁阻随机存取存储器单元,
其中所述处理器核基于所述程序数据的属性选择性地将所述程序数据存储在所述第一存储器、所述第二存储器、及所述第三存储器中的一者中。
2.根据权利要求1所述的半导体器件,其中所述第一磁性隧道结结构及所述第二磁性隧道结结构中的每一者包括钉扎层、隧道层及自由层,且
其中所述第一磁性隧道结结构及所述第二磁性隧道结结构被形成为使得所述第一磁性隧道结结构与所述第二磁性隧道结结构之间在横截面积、所述隧道层的厚度、及所述自由层的厚度中的至少一者方面不同。
3.根据权利要求2所述的半导体器件,其中所述第二磁性隧道结结构的横截面积被形成为大于所述第一磁性隧道结结构的横截面积。
4.根据权利要求2所述的半导体器件,其中所述第二磁性隧道结结构的所述隧道层的厚度被形成为大于所述第一磁性隧道结结构的所述隧道层的厚度。
5.根据权利要求2所述的半导体器件,其中所述第二磁性隧道结结构的所述自由层的厚度被形成为大于所述第一磁性隧道结结构的所述自由层的厚度。
6.根据权利要求2所述的半导体器件,其中所述第二磁性隧道结结构被形成为在所述横截面积、所述隧道层的所述厚度、及所述自由层的所述厚度中的至少一者方面大于所述第一磁性隧道结结构,且
其中当所述程序数据被确定为写入密集型数据时,所述处理器核将所述程序数据存储在所述第一存储器中,且当所述程序数据被确定为只读数据时,所述处理器核将所述程序数据存储在所述第二存储器中,且当所述程序数据被确定为读取密集型数据时,所述处理器核将所述程序数据存储在所述第三存储器中。
7.根据权利要求2所述的半导体器件,其中所述第二磁性隧道结结构被形成为在所述横截面积、所述隧道层的所述厚度、及所述自由层的所述厚度中的至少一者方面大于所述第一磁性隧道结结构,且
其中当所述程序数据被确定为堆栈数据时,所述处理器核将所述程序数据存储在所述第一存储器中,当所述程序数据被确定为代码数据时,所述处理器核将所述程序数据存储在所述第二存储器中,且当所述程序数据被确定为堆数据时,所述处理器核将所述程序数据存储在所述第三存储器中。
8.根据权利要求2所述的半导体器件,其中所述第二磁性隧道结结构被形成为在所述横截面积、所述隧道层的所述厚度、及所述自由层的所述厚度中的至少一者方面大于所述第一磁性隧道结结构,且
其中所述处理器核基于在执行一个程序操作时所需的多个程序数据之间存储在存储器中的顺序而确定所述程序数据的属性,且
其中所述处理器核根据存储在所述存储器中的所述顺序将所述程序数据依序存储在所述第二存储器、所述第一存储器及所述第三存储器中。
9.根据权利要求1所述的半导体器件,其中所述第二存储器及所述第三存储器与所述第一存储器一起安装在所述半导体芯片上。
10.根据权利要求1所述的半导体器件,其中所述程序数据的所述属性是读取/写入及只读中的一者,且
其中当所述程序数据的所述属性被确定为读取/写入时,所述处理器核将所述程序数据存储在所述第一存储器中,且当所述程序数据的所述属性被确定为只读时,所述处理器核选择性地将所述程序数据存储在所述第二存储器或所述第三存储器中。
11.根据权利要求1所述的半导体器件,其中所述程序数据的所述属性是代码数据、堆栈数据、及堆数据中的任一者,且
其中当所述程序数据被确定为所述堆栈数据时,所述处理器核将所述程序数据存储在所述第一存储器中,且当所述程序数据被确定为所述代码数据或所述堆数据时,所述处理器核选择性地将所述程序数据存储在所述第二存储器或所述第三存储器中。
12.根据权利要求1所述的半导体器件,其中所述处理器核被配置成分配用于存储数据的区的虚拟地址,且被配置成基于被分配给所述程序数据的所述虚拟地址的范围来确定所述程序数据的所述属性。
13.根据权利要求1所述的半导体器件,还包括:
存储器分配单元,被配置成根据所述处理器核的控制而分配用于存储所述程序数据的存储器。
14.一种半导体器件,包括:
处理器核,被配置成处理程序数据;
第一存储器,包括第一磁性隧道结结构;以及
第二存储器,包括具有高度不同于所述第一磁性隧道结结构的第二磁性隧道结结构,其中所述处理器核还被配置成读取存储在所述第一存储器中的第一数据,基于所述第一数据产生第二数据,
将所述第二数据存储在所述第二存储器中,且
使用所述第一数据及所述第二数据执行程序操作。
15.根据权利要求14所述的半导体器件,其中所述第二磁性隧道结结构具有的高度高于所述第一磁性隧道结结构,且
其中所述处理器核被配置成在所述程序操作正在执行的同时产生所述第二数据,且在所述程序操作被执行之后从所述第二存储器删除所述第二数据。
16.根据权利要求14所述的半导体器件,还包括:
静态随机存取存储器,被配置成存储将由所述处理器核处理的第三数据,其中所述处理器核还被配置成基于所述第一数据产生所述第三数据,将所述第三数据存储在所述静态随机存取存储器中,且使用所述第一数据、所述第二数据及所述第三数据执行所述程序操作。
17.根据权利要求16所述的半导体器件,其中所述第二磁性隧道结结构具有的高度高于所述第一磁性隧道结结构,且
其中所述处理器核还被配置成在所述程序操作被执行之后,分别从所述第二存储器及所述静态随机存取存储器删除所述第二数据及所述第三数据中的每一者。
18.一种半导体器件,包括:
处理器核,安装在第一半导体芯片上,且被配置成执行程序操作;
第一存储器,安装在所述第一半导体芯片上,且被配置成存储用于所述程序操作的数据;
第二存储器,安装在所述第一半导体芯片上,且具有与包括在所述第一存储器中的存储单元不同类型的存储单元;以及
第三存储器,安装在所述第一半导体芯片上,且包括与所述第二存储器所包括的存储单元相同类型的存储单元,
其中所述处理器核还被配置成基于被分配给用于所述程序操作的数据的虚拟地址区的范围而选择性地确定用于存储数据的存储器。
19.根据权利要求18所述的半导体器件,其中所述处理器核还被配置成在所述程序操作中所使用的数据中,以先前产生的数据的顺序分配第一地址范围、第二地址范围及第三地址范围,且
其中所述处理器核还被配置成将包括在所述第二地址范围中的数据存储在所述第一存储器中,且选择性地将包括在所述第一地址范围及所述第三地址范围中的数据存储在所述第二存储器或所述第三存储器中。
20.根据权利要求18所述的半导体器件,其中所述处理器核还被配置成分配用于存储所述程序操作的代码的第一地址范围、用于存储在所述程序操作中所定义的局部变量的第二地址范围、以及为所述程序操作中的动态变量动态分配的第三地址范围,所述处理器核还被配置成将包括在所述第一地址范围中的第一数据存储在所述第二存储器中,
基于所述第一数据产生包括在所述第二地址范围中的第二数据及包括在所述第三地址范围中的第三数据,
将所述第二数据存储在所述第一存储器中,
将所述第三数据存储在所述第三存储器中,且
使用所述第一数据、所述第二数据及所述第三数据执行所述程序操作。

说明书全文

半导体器件

[0001] 本申请主张在2018年10月19日在韩国知识产权局提出申请的韩国专利申请第10-2018-0124880号的优先权,所述韩国专利申请的内容全部并入本文供参考。

技术领域

[0002] 本公开涉及一种半导体器件。更具体来说,本公开涉及一种基于程序数据的属性选择性地将程序数据存储在不同类型的存储器中的半导体器件。

背景技术

[0003] 各种电子器件被广泛使用。这些电子器件使用电信号及电存储的数据来实行各种功能。电子器件包括用于处理信号及数据的处理器。此外,电子器件包括用于存储数据的存储器。
[0004] 随着设计技术及工艺技术的发展,正在生产具有小的尺寸的电子器件。小型电子器件(例如膝上型计算机、移动终端及手机)可由用户携带且易于被用户传送。最近,已经开发了附装在用户身体上的可穿戴电子器件。
[0005] 另外,在物联网(Internet of Things,IoT)环境中进行操作的IoT电子器件的使用已逐渐增加,且由外部器件远程控制的家用设备的使用也已相应地增加。
[0006] 为了用户的方便起见,可穿戴电子器件或IoT电子器件被制造成具有较小的尺寸。当电子器件的尺寸减小时,包括在电子器件中的集成电路芯片的尺寸也需要减小。此外,如果电子器件的尺寸减小,则由例如电池等供电器件供应的总电量也会减少。
[0007] 作为实例,小型电子器件可包括缓冲存储器及非易失性存储器,缓冲存储器用于临时缓冲由处理器处理或将由处理器处理的数据,非易失性存储器用于存储数据,而与电源的供应无关。顺便提及,可穿戴电子器件及IoT器件可实行与需要大量计算的功能相比需要较少量计算的更多功能。因此,可穿戴电子器件或IoT器件可包括具有大缓冲容量的缓冲存储器。此外,泄漏大量功率的存储器并不适用于可穿戴电子器件或IoT器件。发明内容
[0008] 本发明的方面提供一种半导体器件,所述半导体器件可通过基于数据的属性确定将存储在不同类型的存储器中的数据来提高数据的输入/输出效率并提高功率效率。
[0009] 本发明的方面还提供一种半导体器件,所述半导体器件通过在单个半导体芯片上安装多个不同的存储器并基于数据的属性确定用于存储数据的存储器来满足微控制器单元(Micro Controller Unit,MCU)的微型化。
[0010] 根据一些实施例,本公开涉及一种半导体器件,所述半导体器件包括:处理器核,安装在半导体芯片上,且被配置成处理程序数据;第一存储器,安装在所述半导体芯片上;第二存储器,包括具有第一磁性隧道结(Magnetic Tunnel Junction,MTJ)结构的磁阻随机存取存储器(magneto-resistive random access memory,MRAM)单元;第三存储器,包括具有与所述第一磁性隧道结结构不同的第二磁性隧道结结构的磁阻随机存取存储器单元,其中所述处理器核基于所述程序数据的属性选择性地将所述程序数据存储在所述第一存储器、所述第二存储器、及所述第三存储器中的一者中。
[0011] 根据一些实施例,本公开涉及一种半导体器件,所述半导体器件包括:处理器核,被配置成处理程序数据;第一存储器,包括第一磁性隧道结结构;以及第二存储器,包括高度与所述第一磁性隧道结结构不同的第二磁性隧道结结构,其中所述处理器核还被配置成读取存储在所述第一存储器中的第一数据,基于所述第一数据产生第二数据,将所述第二数据存储在所述第二存储器中,且使用所述第一数据及所述第二数据执行程序操作。
[0012] 根据一些实施例,本公开涉及一种半导体器件,所述半导体器件包括:处理器核,安装在第一半导体芯片上,且被配置成执行程序操作;第一存储器,安装在所述第一半导体芯片上,且被配置成存储用于所述程序操作的数据;第二存储器,安装在所述第一半导体芯片上,且具有与包括在所述第一存储器中的存储单元不同类型的存储单元;以及第三存储器,安装在所述第一半导体芯片上,且包括与所述第二存储器所包括的存储单元相同类型的存储单元,其中所述处理器核还被配置成基于被分配给用于所述程序操作的数据的虚拟地址区的范围而选择性地确定用于存储数据的存储器。
[0013] 然而,本发明的方面并不限于本文中所提出的方面。通过参考以下给出的本发明的详细说明,本发明的以上及其他方面对于本发明所属领域中的普通技术人员而言将变得更显而易见。附图说明
[0014] 通过参照附图详细阐述本发明的示范性实施例,本发明的以上及其他方面以及特征将变得更显而易见,在附图中:
[0015] 图1是根据示例性实施例的包括两个MRAM的半导体器件的方图。
[0016] 图2是三维示出示例性MRAM的单元结构的示意图。
[0017] 图3a到图3d是示出根据示例性实施例的用于确定MRAM的特性的MTJ结构的视图。
[0018] 图4及图5是示出根据示例性实施例的操作系统存储器的结构的图。
[0019] 图6是示出根据程序数据的属性的示例性读取/写入属性及存储器占用属性的图。
[0020] 图7是根据示例性实施例的半导体器件的方块图,在所述半导体器件中静态随机存取存储器(Static Random Access Memory,SRAM)及两个MRAM安装在单个半导体芯片上。
[0021] 图8是示出根据示例性实施例的执行程序操作的过程的方块图。
[0022] 图9是示出根据示例性实施例的使用两个相同类型的存储器及一个不同类型的存储器的程序操作的方块图。
[0023] 图10是示出图9的示例性程序操作的流程图
[0024] 图11是示出根据示例性实施例的使用两个相同类型的存储器的程序操作的方块图。
[0025] 图12是示出图11的示例性程序操作的流程图。
[0026] [符号的说明]
[0027] 1、2、3、4、5:半导体器件;
[0028] 10:第一半导体芯片;
[0029] 20:第二半导体芯片;
[0030] 100:处理器核;
[0031] 200:第一存储器;
[0032] 300:MRAM;
[0033] 301:单元晶体管;
[0034] 302:磁性隧道结;
[0035] 303、311、321、321_1:钉扎层;
[0036] 305、313、323、323_1:隧道层;
[0037] 307、315、325、325_1、325_2:自由层;
[0038] 310:第二存储器;
[0039] 320:第三存储器;
[0040] 320_1:第四存储器;
[0041] 320_2:第五存储器;
[0042] 400:存储器分配单元;
[0043] 500:数字信号处理器;
[0044] 600:编解码器
[0045] 700:接口模块;
[0046] 800:操作系统存储器;
[0047] 810:代码区;
[0048] 820:数据区;
[0049] 830:堆区;
[0050] 840:堆栈区;
[0051] A、A+Δt1:尺寸;
[0052] BL0:位线;
[0053] CMD_READ(DATA1)、CMD_READ(DATA4):读取命令;
[0054] CMD_WRITE(DATA2)、CMD_WRITE(DATA3)、CMD_WRITE(DATA5):写入命令;
[0055] d1:第一厚度;
[0056] d1+Δt2:第三厚度;
[0057] d2:第二厚度;
[0058] d2+Δt3:第四厚度;
[0059] DATA1:第一数据;
[0060] DATA2:数据;
[0061] DATA3:第四数据;
[0062] DATA4:第五数据;
[0063] DATA5:第六数据;
[0064] DATA21:第二数据;
[0065] DATA22:第三数据;
[0066] S1000、S1100、S2000、S2100、S2200、S3000、S3100、S3200、S4000、S5000、S5100、S6000、S6100、S6200、S7000:步骤;
[0067] SL0:源极线;
[0068] WL0:字线。

具体实施方式

[0069] 在下文中,将参照图1到图12阐述根据本发明的技术理念的一些实施例的半导体器件。
[0070] 图1是根据示例性实施例的包括两个MRAM的半导体器件的方块图。
[0071] 参照图1,根据示例性实施例的半导体器件1可包括第一半导体芯片10及第二半导体芯片20。另外,第一半导体芯片10可包括处理器核100及第一存储器200,且第二半导体芯片20可包括第二存储器310及第三存储器320。
[0072] 根据实施例,处理器核100可包括一个或多个处理器核。处理器核100可处理数据及信号。半导体器件1可使用处理后的数据及信号来执行功能。根据实施例,处理器核100可为应用处理器。
[0073] 根据实施例,第一存储器200可为静态随机存取存储器(SRAM)。SRAM可以比动态随机存取存储器(Dynamic Random Access Memory,DRAM)更高的速度工作。当SRAM安装在第一半导体芯片10上时,可获得具有小的尺寸且能够高速工作的半导体器件1。此外,当SRAM安装在第一半导体芯片10上时,可减少半导体器件1的工作功率(有功功率)的消耗。然而,第一存储器200并不限于SRAM,而是可被实施成各种类型的随机存取存储器。
[0074] 根据实施例,第二存储器310及第三存储器320各自可为磁阻随机存取存储器(MRAM)。与SRAM相比,MRAM具有更高的集成度(密度)且具有更低的功率泄漏特性。因此,当MRAM设置在半导体器件1中时,可获得相比于SRAM而具有更大容量的存储器。此外,当MRAM设置在半导体器件1中时,可获得消耗较少功率的半导体器件1。
[0075] 根据实施例,第一数据DATA1、第二数据DATA21及第三数据DATA22可为驱动数据。举例来说,第一存储器200、第二存储器310及第三存储器320可加载驱动数据。驱动数据是用于驱动硬件软件的数据。根据实施例,驱动器数据可包括与操作系统相关的数据。根据实施例,驱动数据可包括与预加载应用(例如,加载在半导体器件1上的软件应用)相关的数据。举例来说,预加载应用可为用于控制与半导体器件1的通信及在半导体器件1内的通信的应用、用于管理半导体器件1的功率的应用等。
[0076] 处理器核100确定用于程序操作的程序数据的属性,且可基于所确定的程序数据的属性,在第一存储器200、第二存储器310及第三存储器320之间分配用于存储程序数据的存储器。之后将参照图4到图6阐述确定程序数据的属性、基于程序数据的属性来存储程序数据以及使用程序的数据执行程序操作的过程。
[0077] 根据一些实施例,半导体器件1可还包括用于存储用户数据的存储区(未示出)。举例来说,用户数据可包括与被用户下载的应用相关的数据。作为另外一种选择,用户数据可包括与用户提供的文档或媒体相关的数据。作为另一实例,用户数据可被存储在第一存储器200、第二存储器310和/或第三存储器320中。
[0078] 根据一些实施例,包括在第二半导体芯片20中的第二存储器310及第三存储器320可分别是被物理分割的区。在这种情况下,包括在第二半导体芯片20中的存储区中的每一者可在被分割的物理区内执行独特功能。
[0079] 处理器核100、第一存储器200、第二存储器310及第三存储器320可基于各种接口规则传输数据。举例来说,处理器核100、第一存储器200、第二存储器310及第三存储器320可基于以下中的一者或多者的接口规则来传输数据:通用串行总线(universal serial bus,USB)、小型计算机系统接口(small computer system interface,SCSI)、外围组件互连(peripheral component interconnect,PCI)快速、高级技术附件(advanced technology attachment,ATA)、并行ATA(parallel ATA,PATA)、串行ATA(serial ATA,SATA)、串行连接SCSI(serial attached SCSI,SAS)、集成驱动电子装置(integrated drive electronics,IDE)及通用闪存(universal flash storage,UFS)。
[0080] 图2是三维示出MRAM的单元结构的示意图。参照图2,示出作为非易失性RAM的存储单元的自旋转移矩型MRAM(spin transfer torque type MRAM)(自旋转移力矩磁阻随机存取存储器,在下文中被称为STT-MRAM)的存储单元。存储单元可包括磁性隧道结(下文中的MTJ元件)302及单元晶体管(CT)301。字线WL0可连接到单元晶体管301的栅极。此外,单元晶体管301的一端经由MTJ元件302连接到位线BL0。此外,单元晶体管301的另一端连接到源极线SL0。
[0081] MTJ元件302可包括钉扎层303、自由层307及位于钉扎层303与自由层307之间的隧道层305。钉扎层303的磁化方向是固定的,且根据情况而定,自由层307的磁化方向可与钉扎层303的磁化方向相同或相反。举例来说,还可提供反磁层(未示出)来固定钉扎层303的磁化方向。
[0082] 为实行MRAM 300的写入操作,向字线WL0施加电压以接通单元晶体管301,且在位线BL0与源极线SL0之间施加写入电流。为实行MRAM300的读取操作,将接通电压施加到字线WL0以接通单元晶体管301,且可在从位线BL0到源极线SL0的方向上施加读取电流以根据所测量的电阻值来区分存储在MTJ元件302中的数据。
[0083] 参照图3a,图1的第二存储器310可包括:钉扎层311;隧道层313,具有第一厚度d1;以及自由层315,具有第二厚度d2。此外,钉扎层311、隧道层313及自由层315中的每一者均具有尺寸为A的横截面积。根据示例性实施例,可通过调节隧道层313的厚度、自由层315的厚度和/或MTJ结构的横截面积将第二存储器310配置成具有或非(NOR)快闪特性的MRAM。举例来说,第二存储器310可被配置成具有10年的保留期及106的耐久性的MRAM。此时,耐久性可意味着将数据写入到MRAM单元的次数。
[0084] 参照图3b,图1的第三存储器320可包括:钉扎层321;隧道层323,具有第一厚度d1;以及自由层325,具有第二厚度d2。另外,钉扎层321、隧道层323及自由层325的横截面积可被形成为具有尺寸A+Δt1。举例来说,第三存储器320可包括横截面积比第二存储器310大的MTJ元件,且第三存储器320可通过增加横截面积来提高耐久性。举例来说,第三存储器
320可被配置成具有1012的耐久性的MRAM。根据示例性实施例,第三存储器320可被配置成在保留期及耐久性方面具有SRAM特性的MRAM。
[0085] 参照图3c,第四存储器320_1包括:钉扎层321_1;隧道层323_1,具有第三厚度d1+Δt2;以及自由层325_1,具有第二厚度d2,且钉扎层321_1、隧道层323_1及自由层325_1的横截面积被形成为具有尺寸A。举例来说,第四存储器320_1可包括隧道层323_1的厚度比第二存储器310大的MTJ元件,且第四存储器320_1可通过将隧道层323_1的厚度增加Δt2而被实施成相比于第二存储器310具有得到提高的耐久性的MRAM。根据实施例,第四存储器320_1可被配置成在保留期及耐久性方面具有SRAM特性的MRAM。根据示例性实施例,图1的第三存储器320可被实施成第四存储器320_1。
[0086] 参照图3d,第五存储器320_2包括:钉扎层321_1;隧道层323,具有第一厚度d1;以及自由层325_2,具有第四厚度d2+Δt3,且钉扎层321_1、隧道层323及自由层325_2的横截面积被形成为具有尺寸A。举例来说,第五存储器320_2可包括自由层325_2的厚度比第二存储器310大的MTJ元件,且第五存储器320_2可通过将自由层325_2的厚度增加Δt3而被实施成相比于第二存储器310具有得到提高的耐久性的MRAM。根据实施例,第五存储器320_2可被配置成在保留期及耐久性方面具有SRAM特性的MRAM。根据示例性实施例,图1的第三存储器320可被实施成第五存储器320_2。
[0087] 图4及图5是示出根据示例性实施例的操作系统存储器的结构的图。
[0088] 在IoT环境中,低端电子器件的操作系统存储器800可包括:代码区(Code)810、数据区(Data)820、堆区(Heap)830以及堆栈区(Stack)840。这些区可被分散及分布在多个存储中,且仿佛所述多个存储是单个存储一样,这些区可根据单个地址空间系统被处理、管理及操作。
[0089] 参照图4,实际放置可根据操作系统而有所不同,但是每个这样的区的存在及目的均是以相同的方式应用。由于在单个地址空间中内核及程序执行期间的所有任务在概念上均可被存取到整个存储器,因此存储器具有共享代码区810、数据区820、堆区830及堆栈区840的结构。为了便于阐释,已经示出单个地址空间被分配给单个存储器,但是这可为虚拟地址空间,且与每个区对应的地址可被分配给被物理分离的存储器。
[0090] 如图5中所示,根据单个地址空间系统操作的存储区可从低地址(0×0000)到高地址(0×FFFF)被划分成代码区810、数据区820、堆区830及堆栈区840。这种存储器结构是一个实例,且存储器结构可以其他形式配置。代码区810是其中程序命令由机器语言定位并控制的区。数据区820是在程序执行时(例如,在程序执行期间)产生并在程序结束时返回到系统的区,且数据区820中存储有全局变量、静态变量、数组、结构等。堆区830是在加载程序时存储器被动态分配到的区。堆栈区840是被程序自动使用的临时存储区。具体来说,堆栈区840是存储数据(例如局部变量、参数及返回值)的区,这些数据被使用一段时间且接着便会消失,且堆栈区840在调用函数时产生,并在函数结束时返回到系统。
[0091] 随着在基于IoT的电子器件中执行的应用多样化以及例如语音识别图像识别等附加功能增加,电子器件所需的存储器倾向于持续增加。通过在基于IoT的电子器件中提供而被利用的微控制器(MCU)不包括高速缓存,且倾向于将内置存储器实施成SRAM。然而,当MCU所需的存储器的容量由于上述原因而增加且存储器的容量增加时,存在MCU的大部分空间被内置存储器(例如,SRAM)填充的问题。为满足所需的存储器容量,MCU的芯片尺寸会增加。在这种情况下,存在MCU的成本增加及微型化受阻的问题。因此,需要一种半导体器件(或半导体芯片)的结构,其满足增加存储器容量的要求,且同时可使MCU的尺寸的增加及功耗的增加最小化。
[0092] 参照图1及图5,根据一些实施例,处理器核100可分配存储数据的区的虚拟地址(0×0000到0×FFFF),可基于将分配给程序数据的虚拟地址范围来确定程序数据的属性,且可基于程序数据的属性来确定用于存储程序数据的存储器。具体来说,处理器核100可设定代码区810、数据区820、堆区830及堆栈区840中的每一者的地址范围,且可基于与存储程序数据的特定地址对应的地址范围来确定用于存储程序数据的存储器。根据示例性实施例,与分配给代码区810或数据区820的地址范围对应的程序数据可被存储在第二存储器310中,与分配给堆栈区840的地址范围对应的程序数据可被存储在第一存储器200中,且与指派给堆区830的地址范围对应的程序数据可被存储在第三存储器320中。
[0093] 当基于地址范围确定用于存储程序数据的存储器时,通过将数据存储在具有操作特性的存储器中,所述操作特性适用于存储在每个地址范围中的数据的属性,可执行数据的有效输入/输出操作,且可相应地减少功耗。以下将参照图6阐述存储在每个区中的数据的输入/输出特性。
[0094] 图6是示出根据程序数据的属性的读取/写入属性及存储器占用属性的图。根据示例性实施例,将参照图1及图6阐述基于程序数据的属性来确定用于存储程序数据的存储器的操作。
[0095] 在驱动例如操作系统(OS)及应用等的程序所需的程序数据中,存储在代码区中的数据具有只读(Read Only,RO)操作类型,存储在堆区中的数据具有读取密集型(Read Intensive,RI)操作类型,且存储在堆栈区中的数据具有写入密集型(Write Intensive,WI)操作类型。举例来说,由于其中存储有程序命令的代码区是在程序的初始产生时产生,且接着在执行程序操作时被读取以驱动程序,因此代码区具有RO操作类型。由于正在加载程序时被动态分配的堆区频繁发生读取操作,因此堆区具有RI操作类型。且由于代码区用于存储其中局部变量等被使用一段时间且接着便会消失的数据,因此写入操作发生得更频繁,且堆栈区具有WI操作类型。另外,关于每个区占据存储器的比率,参考堆栈区的尺寸,代码区占据堆栈区尺寸的15倍的容量,且堆区占据堆栈区20倍的容量。当存储在代码区、堆区及堆栈区中的数据增加时,在将所有程序数据存储在IoT器件的同一存储器(例如,SRAM)中的情况下,可能存在如下问题:存储器的尺寸增加,且图像的尺寸必然增加。
[0096] 根据一些示例性实施例,处理器核100可决定程序数据的属性是读取/写入(Read/Write,RW)数据还是RO数据,且可基于所决定的程序数据的属性来确定用于存储程序数据的存储器。此时,RW数据可包括具有高读取操作比率的RI数据及具有高写入操作比率的WI数据。具体来说,被决定为RW数据的程序数据被存储在第一存储器200中,且被决定为RO数据的程序数据可被选择性地存储在第二存储器310或第三存储器320中。举例来说,其中读取操作及写入操作频繁发生的RW数据被存储在第一存储器200中,第一存储器200被配置成具有相对高的操作速度的SRAM,且RO数据被存储在第二存储器310或第三存储器320中,从而使得能够高效地使用存储器。根据实施例,被决定为RO的数据可被存储在具有NOR闪存特性的第二存储器310中,从而可能减少存储在SRAM中的RO数据的比例,以防止SRAM尺寸的增加。
[0097] 根据一些实施例,处理器核100可将程序数据的属性决定为WI数据、RO数据或RI数据中的一者,且可基于所决定的程序数据的属性来确定用于存储程序数据的存储器。具体来说,被决定为WI数据的程序数据可被存储在第一存储器200中,被决定为RO数据的程序数据可被存储在第二存储器310中,且被决定为RI数据的程序数据可被存储在第三存储器320中。举例来说,其中写入操作频繁发生且占据存储器的比率低的WI数据被存储在第一存储器200中,第一存储器200被配置成具有高操作速度的SRAM,且RO数据被存储在第二存储器310中,第二存储器310是具有NOR闪存特性的MRAM,从而防止SRAM尺寸的增加。此外,RI数据被存储在第三存储器320中,第三存储器320是具有SRAM特性的MRAM,从而使得能够快速处理写入操作并防止SRAM尺寸的增加。
[0098] 根据一些示例性实施例,处理器核100可将程序数据的属性决定为堆栈数据、代码数据及堆数据中的一者,且可基于所决定的程序数据的属性来确定用于存储程序数据的存储器。此时,堆栈数据、代码数据及堆数据可意味着将分别存储在图5的堆栈区840、代码区810及堆区830中的每一者中的数据。根据示例性实施例,代码数据可包括存储在图5的数据区820中的数据。根据示例性实施例,处理器核100可实行控制,以使得当程序数据被决定为堆栈数据时,将程序数据存储在第一存储器200中,当程序数据被决定为代码数据时,将程序数据存储在第二存储器310中,且当程序数据被决定为堆数据时,将程序数据存储在第三存储器320中。
[0099] 在例如在IoT器件中实施的应用等程序操作中,由于代码区具有RO操作特性,且在存储区中占据的比例达近似42%,因此代码区被具有NOR闪存特性的MRAM(图1的第二存储器310)代替,以减小MCU的尺寸及功耗。在编译阶段由OS将存储区分配到的堆栈区中,写入操作频繁发生,且所需的存储空间是整个存储空间的3%程度,且即使在使用现有的SRAM时,对SRAM尺寸增加的影响也是小的。因此,堆栈区被存储在其上安装有处理器核110的半导体芯片中的SRAM(图1的第一存储器200)中。由于被用户(或程序员)动态分配的堆区不具有许多写入操作,且在存储区中占据的高比例为约55%,因此通过将要存储的程序数据存储在MRAM(图1的第三存储器320)中的堆区中,可能期望达到使MCU微型化及节省功耗的效果。
[0100] 图7是根据示例性实施例的半导体器件的方块图,在所述半导体器件中SRAM及两个MRAM安装在单个半导体芯片上。
[0101] 参照图7,根据示例性实施例的半导体器件2可包括:处理器核100,安装在第一半导体芯片10上以处理程序数据;以及第一存储器200、第二存储器310、及第三存储器320,各自安装在半导体芯片10上。图7的第一存储器200、第二存储器310、及第三存储器320可被配置成分别与第一存储器200、第二存储器310、及第三存储器320相同。此外,以上参照图1到图6阐述的半导体器件1的操作可相似地应用于图7的半导体器件2。
[0102] 根据示例性实施例,第二存储器310及第三存储器320可为磁阻随机存取存储器(MRAM)。与SRAM相比,MRAM具有更高的集成度(密度)及更低的功率泄漏特性。因此,当MRAM安装在第一半导体芯片10上时,可获得具有大容量的内置存储器,且与内置存储器仅被配置成SRAM的情况相比,可获得相同尺寸及相同容量的存储容量。此外,当MRAM安装在第一半导体芯片10上时,可获得消耗较少电力的半导体器件2。
[0103] 当第二存储器310与处理器核100共享管芯(例如,驱动存储器的一部分安装在第一半导体芯片10上)时,用于在处理器核100与第二存储器310之间传输第二数据DATA21的输入/输出信道的长度变得更短,且可移除用于控制第二数据DATA21的输入及输出的输入/输出逻辑及驱动器。因此,可减少传输第二数据DATA21所消耗的电量。此外,可缩短传输第二数据DATA21所需的时间,从而减少半导体器件2所消耗的能量的总量。
[0104] 相似地,当第三存储器320与处理器核100共享管芯时,用于在处理器核100与第三存储器320之间传输第三数据DATA22的输入/输出信道的长度可被缩短,且可移除用于控制第三数据DATA22的输入及输出的输入/输出逻辑及驱动器。因此,可减少用于传输第三数据DATA22所消耗的电量。此外,可减少用于传输第三数据DATA22所需的时间,从而减少半导体器件2所消耗的能量的总量。
[0105] 此外,当存储驱动数据的第二存储器310及第三存储器320与处理器核100共享管芯时,可减小半导体器件2的尺寸,且可减少半导体器件2所消耗的电力的量。具体来说,当半导体器件2是应用IoT操作的器件(例如,装配有显示器、语音识别模块等的智能箱)时,具有小的尺寸且可长时间使用的IoT器件可提高用户的满意度。
[0106] 图8是示出根据示例性实施例的执行程序处理操作的过程的方块图。
[0107] 参照图8,根据示例性实施例的半导体器件3可包括处理器核100、第一存储器200、第二存储器310、第三存储器320、存储器分配单元400、数字信号处理器(digital signal processor,DSP)500、编解码器600及接口模块700。处理器核100、第一存储器200、第二存储器310及第三存储器320可配置为与图7相似,且参照图1及图6阐述的半导体器件1的程序数据处理操作也可相似地应用于半导体器件3。
[0108] 存储器分配单元400可在处理器核100的控制下分配用于存储程序数据的存储器。举例来说,当处理器核100将三种程序数据类型的属性决定为堆栈数据(例如,第一数据DATA1)、代码数据(例如,第二数据DATA21)及堆数据(例如,第三数据DATA22)时,存储器分配单元400可分配存储器,使得程序数据存储在第一存储器200、第二存储器310及第三存储器320中。
[0109] DSP 500可将外部麦克(未示出)或显示器(未示出)电连接到处理器核100。根据示例性实施例,可在从外部输入的音频信号中获取语音信号,并对所获取信号执行数字信号处理操作。根据示例性实施例,处理器核100可使用由DSP 500处理的信号及程序数据来执行程序操作。
[0110] 编解码器600可对从外部输入的视频数据或语音数据实行编码(encoding/coding)或解码。
[0111] 接口模块700可设定例如半导体器件3与外部器件(未示出)或服务器(未示出)之间的通信。举例来说,接口模块700可经由无线或有线通信连接到网络,以与外部器件或服务器进行通信。
[0112] 图9是示出根据示例性实施例的使用两个相同类型的存储器及一个不同类型的存储器的程序操作的方块图,图10是示出图9的程序操作的方块图。
[0113] 参照图9,根据示例性实施例的半导体器件4可包括:处理器核100,安装在第一半导体芯片10上以执行程序操作;第一存储器200,安装在第一半导体芯片10上,且存储用于程序操作的数据DATA2;第二存储器310,安装在第一半导体芯片10上,且具有与包括在第一存储器200中的存储单元不同类型的存储单元;以及第三存储器320,安装在第一半导体芯片10上,且具有与包括在第二存储器310中的存储单元相同类型的存储单元。根据实施例,处理器核100、第一存储器200、第二存储器310及第三存储器320可分别配置为与图1的处理器核100、第一存储器200、第二存储器310及第三存储器320相似。然而,本发明并不限于此,且可被配置成不同类型的处理器核和/或不同类型的存储器。
[0114] 根据一些示例性实施例,处理器核100可基于被分配给用于程序操作的数据的虚拟地址区的范围而选择性地确定用于存储数据的存储器。举例来说,处理器核100可实行确定,以使得与包括在第一地址范围中的地址对应的数据DATA2被存储在第一存储器200中、与包括在第二地址范围中的地址对应的第一数据DATA1被存储在第二存储器310中、且与包括在第三地址范围中的地址对应的第四数据DATA3被存储在第三存储器320中。
[0115] 根据一些实施例,处理器核100可在用于程序操作的数据中,以数据被产生的顺序选择性地分配第一地址范围、第二地址范围及第三地址范围,可将包括在第二地址范围中的数据存储在第一存储器200中,且可选择性地将包括在第一地址范围及第三地址范围中的数据存储在第二存储器310或第三存储器320中。举例来说,当首先产生第一数据DATA1且基于第一数据DATA1产生数据DATA2及第四数据DATA3时,第一数据DATA1可被存储在第二存储器310中,数据DATA2可被存储在第一存储器200中,且第四数据DATA3可被存储在第三存储器320中。
[0116] 根据一些示例性实施例,处理器核100可分配存储程序操作的代码的第一地址范围、存储程序操作中所定义的局部变量的第二地址范围以及为程序操作的动态变量动态分配的第三地址范围。此时,包括在第一地址范围中的数据(例如,第一数据DATA1)可被存储在第二存储器310中,且可基于第一数据DATA1产生包括在第二地址范围中的数据(例如,数据DATA2)及包括在第三地址范围中的数据(例如,第四数据DATA3)。处理器核100可将产生的数据DATA2存储在第一存储器200中,可将产生的第四数据DATA3存储在第三存储器320中,且可使用第一数据DATA1、数据DATA2及第四数据DATA3执行程序操作。
[0117] 在下文中,将参照图9及图10阐述使用两个相同类型的存储器及一个不同类型的存储器执行程序操作的过程。如上所述,假设第二存储器310与第三存储器320被配置成相同类型的存储器,且第一存储器200被配置成与第二存储器310及第三存储器320不同的存储器。
[0118] 在步骤S1000中,处理器核100可向第二存储器310发送第一数据DATA1的读取命令CMD_READ(DATA1)。根据示例性实施例,假设第一数据DATA1是用于实施程序操作的代码数据,所述代码数据在第一程序产生时产生,且被存储在第二存储器310中。在步骤S1100中,处理器核100可从第二存储器310读取第一数据DATA1。
[0119] 在步骤S2000中,处理器核100可基于从第二存储器310接收的第一数据DATA1产生数据DATA2。根据示例性实施例,数据DATA2可为局部变量的堆栈数据,且可基于作为代码数据的第一数据DATA1来产生。在步骤S2100中,处理器核100将数据DATA2的写入命令CMD_WRITE(DATA2)发送到第一存储器200,且在步骤S2200中,将数据DATA2存储在第一存储器200中。举例来说,可将程序操作所需的代码数据(例如,第一数据DATA1)及堆栈数据(例如,数据DATA2)存储在彼此不同的存储器中。
[0120] 在步骤S3000中,处理器核100可基于第一数据DATA1产生第四数据DATA3。根据实施例,第四数据DATA3可为在加载代码数据之后被动态分配的数据。作为另一实例,处理器核100可基于第一数据DATA1及数据DATA2中的至少一者来产生第四数据DATA3。在步骤S3100中,处理器核100将第四数据DATA3的写入命令CMD_WRITE(DATA3)发送到第三存储器320。在步骤S3200中,将第四数据DATA3存储在第三存储器320中。举例来说,根据示例性实施例的半导体器件4可将代码数据(例如,第一数据DATA1)、堆栈数据(例如,数据DATA2)及堆数据(例如,第四数据DATA3)存储在彼此不同的存储器中。具体来说,可将代码数据与堆数据存储在相同类型的不同存储器中,且可将堆栈数据存储在具有与存储代码数据及堆数据的存储器不同的结构的存储器中。
[0121] 在步骤S4000中,处理器核100可使用存储在第二存储器310中的第一数据DATA1、存储在第一存储器200中的数据DATA2及存储在第三存储器320中的第四数据DATA3执行程序操作。
[0122] 图11是示出根据示例性实施例的使用两个相同的存储器的程序操作的方块图,且图12是示出图11的程序操作的流程图。
[0123] 参照图11,根据示例性实施例的半导体器件5可包括:处理器核100,用于处理程序数据;以及第二存储器310及第三存储器320,用于存储程序数据,且第二存储器310及第三存储器320可被配置成相同种类的存储器。根据示例性实施例,可将处理器核100、第二存储器310及第三存储器320安装在同一半导体芯片(例如,半导体芯片10)上。
[0124] 根据实施例,第二存储器310及第三存储器320可被配置成MRAM,且此时,第二存储器310可具有第一MTJ结构,且第三存储器320可具有第二MTJ结构。根据示例性实施例,第一MTJ结构的高度与第二MTJ结构的高度可彼此不同。MTJ结构的高度可为包括在每一MTJ结构中的钉扎层、隧道层及自由层的垂直长度的和。举例来说,MTJ结构的高度可意指图2中所示的MTJ结构302的钉扎层303、隧道层305及自由层307堆叠的方向上的厚度。
[0125] 根据示例性实施例,第二存储器310可为图3a的第二存储器310,且第三存储器320可为图3c的第四存储器320_1及图3d的第五存储器320_2中的一者。举例来说,第三存储器320的第二MTJ结构的高度可高于第二存储器310的第一MTJ结构的高度。举例来说,由于第二MTJ结构的自由层的厚度被形成为大于第一MTJ结构的自由层的厚度,因此第三存储器
320的高度可被形成为高于第二存储器310。作为另一实例,由于第二MTJ结构的隧道层的厚度被形成为大于第一MTJ结构的隧道层的厚度,因此第三存储器320的高度可被形成为高于第二存储器310。
[0126] 根据一些实施例,处理器核100可基于数据产生的顺序来确定用于存储数据的存储器。举例来说,处理器核100读取在产生程序时产生并被存储在第二存储器310中的第五数据DATA4,基于第五数据DATA4产生第六数据DATA5,将第六数据DATA5存储在第三存储器320中,且使用第五数据DATA4及第六数据DATA5执行程序操作。举例来说,可将较早产生的第五数据DATA4存储在第二存储器310中,且可将较晚产生的(或者通过基于较早产生的数据的计算产生的)第六数据DATA5存储在第三存储器320中。
[0127] 根据一些示例性实施例,处理器核100在程序操作被执行的同时产生第六数据DATA5,且在程序操作完成之后从第三存储器320删除第六数据DATA5。举例来说,第五数据DATA4可为在程序被执行时产生的数据,且为在程序执行完成后被删除的数据。
[0128] 以下将参照图11及图12阐述使用两个相同类型的存储器执行程序操作的过程。如上所述,假设第二存储器310与第三存储器320被配置成相同种类的存储器,且包括具有不同高度的MTJ结构。
[0129] 在步骤S5000中,处理器核100可将第五数据DATA4的读取命令CMD_READ(DATA4)发送到第二存储器310。根据示例性实施例,假设第五数据DATA4是在产生第一程序时产生的数据,且被存储在第二存储器310中。在步骤S5100中,处理器核100可从第二存储器310读取第五数据DATA4。
[0130] 在步骤S6000中,处理器核100可基于从第二存储器310接收的第五数据DATA4产生第六数据DATA5。在步骤S6100中,处理器核100将第六数据DATA5的写入命令CMD_WRITE(DATA5)发送到第三存储器320,且在步骤S6200中,将第六数据DATA5存储在第三存储器320中。举例来说,处理器核100可基于数据的属性来决定存储在具有不同高度的相同类型存储器(例如,第二存储器310与第三存储器320)中的数据。根据示例性实施例,可基于数据产生之前及之后来确定数据的属性。根据其他实施例,可基于数据的类型(例如,代码数据、堆栈数据及堆数据)来确定数据的属性。根据其他示例性实施例,可基于虚拟地址的范围来决定数据的属性,所述虚拟地址包括指派给数据的虚拟地址。
[0131] 在步骤S7000中,处理器核100可使用第五数据DATA4及第六数据DATA5来执行程序操作。举例来说,处理器核100可使用存储在具有不同高度的相同种类的存储器(例如,第二存储器310与第三存储器320)中的数据来执行程序操作。
[0132] 总结所述详细说明,所属领域中的技术人员应理解,在实质上不背离本发明的原理的条件下可对优选实施例作出许多变型及修改。因此,本发明所公开的优选实施例仅用于通常意义及阐述性意义,而并非用于限制目的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈