电子系统、电子系统的操作方法及存储器件的操作方法技术方案

技术编号:38246981 阅读:9 留言:0更新日期:2023-07-25 18:07
提供实时操作系统的电子系统、该电子系统的操作方法和用于存储器件的操作方法。该操作方法包括:通过对与任务相对应的至少一个线程执行静态代码分析来获得调用图;通过执行调用图的运行时分析来获得线程的堆栈使用和针对每个节点的调用概率;通过考虑调用图、针对每个节点的调用概率和堆栈使用,针对第一存储器区分配堆栈大小的阈值;根据阈值与第一存储器区的堆栈使用之间的比较结果,将堆栈从第一存储器区扩展并存储到第二存储器区;以及当在第二存储器区中完成了执行时,将堆栈返回到第一存储器区,其中,该电子系统包括存储器件,该存储器件被配置为包括第一存储器区和第二存储器区。器区。器区。

【技术实现步骤摘要】
电子系统、电子系统的操作方法及存储器件的操作方法


[0001]本公开涉及实时操作系统的电子系统、该电子系统的操作方法和用于存储器件的操作方法。

技术介绍

[0002]固态驱动器(SSD)正逐渐从个人用户市场(例如膝上型计算机和智能电话)融入其他市场(例如大规模数据中心和高性能企业)中。同时,它们对应用于各个产品的功能要求越来越多样化和复杂。实时操作系统(RTOS)可以应用于存储设备,以努力更快且更平顺地执行产品开发和维护,同时满足变化和复杂的需求。存储设备可以通过将复杂的需求分离到各个线程并将调度开销委托给RTOS内核来降低开发人员的负担。
[0003]然而,为了更高效地利用RTOS,必须为每个线程分配单独的堆栈。每当线程执行代码时,在分配给该线程的堆栈的单独函数上堆叠堆栈帧,因此根据分配给该线程的堆栈在系统的存储器层中定位在哪里而直接影响线程的性能。
[0004]系统开发人员可能在高性能存储器中放置堆栈以更高效地处理线程,然而在SSD所属的嵌入式系统中,高性能存储器很有限以至于很可能发生堆栈溢出。

技术实现思路

[0005]本公开的方面提供了一种用于在资源约束下在实时操作系统(RTOS)中高效线程管理的电子系统及其操作方法。
[0006]本公开的方面还提供了一种在RTOS中提高了资源利用效率、提高了性能并且不发生堆栈溢出的电子系统及其操作方法。
[0007]然而,本公开的各方面不限于本文所阐述的那些。通过参考下面给出的本公开的详细描述,本公开的上述和其他方面对于本公开所属领域的普通技术人员而言将变得更加清楚。
[0008]根据本公开的一方面,提供了一种电子系统在实时操作系统中的操作方法,该操作方法包括:通过对与任务相对应的至少一个线程执行静态代码分析来得到调用图;通过执行调用图的运行时分析来得到线程的堆栈使用和针对每个节点的调用概率;通过考虑调用图、针对每个节点的调用概率和堆栈使用,针对第一存储器区分配堆栈大小的阈值;根据阈值与第一存储器区的堆栈使用之间的比较结果,将堆栈从第一存储器区扩展并存储到第二存储器区;以及当在第二存储器区中完成了执行时,将堆栈返回到第一存储器区,其中,该电子系统包括存储器件,该存储器件被配置为包括第一存储器区和第二存储器区。
[0009]根据本公开的另一方面,提供了一种电子系统,包括:实时操作系统(RTOS)模块,被配置为通过将来自主机的命令划分为至少一个线程来处理所述命令;调用图模块,被配置为通过对线程执行静态代码分析得到调用图;运行时分析器,被配置为通过执行调用图的运行时分析来得到每个节点的堆栈使用和针对每个节点的调用概率;以及存储器件,被配置为包括第一存储器区和第二存储器区,其中,RTOS模块被配置为:根据基于每个节点的
堆栈使用和针对每个节点的调用概率的阈值,将与线程相对应的堆栈空间分配至第一存储器区,将与线程相对应的堆栈存储在第一存储器区中的所分配的堆栈空间中,并且响应于生成基于针对每个节点的调用概率和每个节点的堆栈使用的溢出警报,将后续堆栈连接并存储到第二存储器区。
[0010]根据本公开的另一方面,提供了一种存储器件在实时操作系统中的操作方法,该存储器件包括第一存储器区和第二存储器区,该操作方法包括:将任务编译为多个线程,并且通过对每个线程的静态代码分析来探测调用图;通过对所探测的调用图执行动态代码分析来得到每个节点的堆栈使用和针对每个节点的调用概率;基于动态代码分析结果设置第一存储器区的堆栈大小;将与线程相对应的堆栈帧顺序地存储在第一存储器区中;以及响应于产生针对第一存储器区的溢出警报,将后续堆栈帧存储在第二存储器区中。
[0011]应注意,本公开的效果不限于上述那些,并且根据以下描述,本公开的其他效果将是清楚的。
附图说明
[0012]通过参照附图详细描述本专利技术的示例实施例,本公开的以上和其他方面和特征将变得更清楚,在附图中:
[0013]图1是示出了根据本公开的一些实施例的电子系统的框图。
[0014]图2是示出了根据本公开的一些实施例的电子系统的框图。
[0015]图3是示出了根据一些实施例的存储控制器20的框图。
[0016]图4是更详细地示出了包括在存储控制器20中的存储器100的框图。
[0017]图5是用于描述在存储器100中发生的堆栈溢出的图。
[0018]图6和图7是根据一些实施例的线程的调用图。
[0019]图8是示出了根据一些实施例的用于描述电子系统的操作方法的第一存储器区和第二存储器区的概念图。
[0020]图9是根据一些实施例的用于描述通过从第一存储器区扩展到第二存储器区来操作的电子系统的概念图。
[0021]图10是根据一些实施例的用于描述通过从第一存储器区扩展到第二存储器区来操作的电子系统的概念图。
[0022]图11是根据一些实施例的用于描述通过从第一存储器区扩展到第二存储器区来操作的电子系统的概念图。
[0023]图12是示出了根据一些实施例的电子系统的操作方法的流程图。
[0024]图13是示出了应用根据一个实施例的存储设备的系统的图。
[0025]图14是示出了应用根据一些实施例的存储器件的数据中心的图。
具体实施方式
[0026]在下文中,将参考图1至图14描述根据本公开的一些实施例的电子系统。
[0027]图1是示出了根据本公开的一些实施例的电子系统的框图。
[0028]电子系统1可以包括主机10和存储系统2。存储系统可以包括存储控制器20

1和至少一个存储设备201。
[0029]在一些实施例中,主机10可以是计算设备,例如个人计算机、服务器、笔记本计算机、平板计算机、智能电话或蜂窝电话,但本公开不限于此。
[0030]主机10可以通过使用接口协议(例如外围组件互连快速(PCI

E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、串行附接SCSI(SAS)或计算快速链路(CXL))与存储器系统通信。主机10与存储系统2之间的接口协议不限于上面列出的示例,并且所使用的接口协议可以是其他接口协议(例如通用串行总线(USB)、多媒体卡(MMC)、增强型小磁盘接口(ESDI)或集成驱动电子设备(IDE))之一。
[0031]根据一些实施例,至少一个存储设备201中的每一个可以是非易失性存储器(NVM)设备,例如闪存、磁阻随机存取存储器(MRAM)、相变随机存取存储器(PRAM)、铁电随机存取存储器(FeRAM)等。
[0032]图2是示出了根据本公开的一些实施例的电子系统的框图。
[0033]参考图2,电子系统1可以包括主机10和存储器件202。主机10可以包括处理器11和存储器控制器20

1,并且存储器控制器20

1可以连接到单独的外部存储器件202。处理器11可以控制电子系统的整体操作,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种电子系统在实时操作系统中的操作方法,所述操作方法包括:通过对与任务相对应的至少一个线程执行静态代码分析来获得调用图;通过执行所述调用图的运行时分析来获得所述线程的堆栈使用和针对每个节点的调用概率;通过考虑所述调用图、针对每个节点的所述调用概率、以及所述堆栈使用,针对第一存储器区分配堆栈大小的阈值;根据所述阈值与所述第一存储器区的堆栈使用之间的比较结果,将堆栈从所述第一存储器区扩展并存储到第二存储器区;以及当在所述第二存储器区中完成了执行时,将所述堆栈返回到所述第一存储器区,其中,所述电子系统包括存储器件,所述存储器件被配置为包括所述第一存储器区和所述第二存储器区。2.根据权利要求1所述的操作方法,其中,所述阈值是基于所述线程的调用图、每个节点的堆栈使用和针对每个节点的所述调用概率设置的,并且所设置的阈值的大小小于所述调用图的最大堆栈使用。3.根据权利要求1所述的操作方法,其中,从所述第一存储器区扩展到所述第二存储器区包括:在所述第一存储器区中产生溢出警报;将在所述第一存储器区中最近执行的堆栈帧复制到所述第二存储器区;在所述第二存储器区中执行并存储所述线程的剩余堆栈帧;以及响应于完成对所述剩余堆栈帧的执行,将所述第二存储器区的堆栈指针返回到所述第一存储器区。4.根据权利要求3所述的操作方法,其中,所述复制包括存储所述第一存储器区的堆栈指针和链接寄存器值,将在所述第一存储器区中最近执行的所述堆栈帧复制到所述第二存储器区,以及将所存储的链接寄存器值改变为所述第一存储器区的返回位置。5.根据权利要求4所述的操作方法,其中,在所述第二存储器区中执行后续堆栈,并且基于所存储的堆栈指针和经改变的返回位置将经执行的堆栈返回到所述第一存储器区。6.一种电子系统,包括:实时操作系统RTOS模块,被配置为通过将来自主机的命令划分为至少一个线程来处理所述命令;调用图模块,被配置为通过对所述线程执行静态代码分析来得到调用图;运行时分析器,被配置为通过执行所述调用图的运行时分析来得到每个节点的堆栈使用和针对每个节点的调用概率;以及存储器件,被配置为包括第一存储器区和第二存储器区,其中,所述RTOS模块被配置为:根据基于每个节点的所述堆栈使用和针对每个节点的所述调用概率的阈值,将与所述线程相对应的堆栈空间分配至所述第一存储器区,将与所述线程相对应的堆栈存储在所述第一存储器区中的所分配的堆栈空间中,以及响应于生成基于针对每个节点的所述调用概率和每个节点的所述堆栈使用的溢出警报,将后续堆栈连接并存储到所述第二存储器区。
7.根据权利要求6所述的电子系统,其中,设置在所述第一存储器区中的第一堆栈区和设置在所述第二存储器区中的第二堆栈区是不连续的。8.根据权利要求7所述的电子系统,其中,所述第二存储器区不用于所述线程,直到建立了到所述第一存储器区的连接为止。9...

【专利技术属性】
技术研发人员:梁承俊李惠俊赵渼贞
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1