存储器的测试的方法、装置、电子设备和计算机可读存储介质与流程

文档序号:22681821发布日期:2020-10-28 12:43阅读:134来源:国知局
存储器的测试的方法、装置、电子设备和计算机可读存储介质与流程

本公开主要涉及芯片领域,并且更具体地,涉及用于芯片的存储器的测试的方法、装置、电子设备和计算机可读存储介质。



背景技术:

随着人工智能的迅猛发展,人工智能(ai)芯片(诸如,片上系统soc)的功能和计算能力也越来越强大,也导致ai芯片设计的规模和复杂性也急剧增长。在现有的ai芯片被嵌入了大量的存储器(memory),诸如,静态随机存储器(sram)、动态随机存储器(dram)、高速缓存(cache)、寄存器以及闪存存储器(flash)等。这些存储器被布置在芯片的各个位置以支持各种逻辑运算。

在芯片的制造过程中,由于工艺流程、设计等诸多原因,导致芯片上的部分存储器无法正确地运行。因此,在芯片出厂前,通常对芯片的存储器进行存储器内置扫描测试mbist(memorybuilt-in-scan-test)测试,以对芯片中的存储器的有效性进行测试并且对坏损的存储器进行替换/修复。



技术实现要素:

根据本公开提供了一种用于芯片的存储器的测试的方案。

在本公开的第一方面中,提供了一种用于芯片的存储器的测试的方法,其中芯片包括多个运算模块,运算模块包括至少一个运算单元,运算单元包括至少一个存储器,该方法包括:针对至少一个运算模块中的第一运算模块,生成第一测试向量;以及独立于至少一个运算模块中的不同于第一运算模块的其他运算模块,利用所生成的第一测试向量,对第一运算模块执行存储器测试。

在本公开的第二方面中,提供了一种用于芯片的存储器测试的装置,其中芯片包括多个运算模块,运算模块包括至少一个运算单元,运算单元包括至少一个存储器。该装置包括第一测试向量生成模块,被配置为针对至少一个运算模块中的第一运算模块,生成第一测试向量;以及第一存储器测试模块,被配置为独立于至少一个运算模块中的不同于第一运算模块的其他运算模块,利用所生成的第一测试向量,对第一运算模块执行存储器测试。

在本公开的第三方面中,提供了一种电子设备,包括一个或多个处理器;以及存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行使,使得该电子设备实现根据本公开的第一方面的方法。

在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。

根据本申请的技术解决了传统的用于芯片的存储器的测试的方案(诸如,mbist)由于灵活性差、耗时长而无法满足ai芯片设计制造需求的问题。根据本公开,提供了一种改进的用于芯片的存储器的测试的方案,该方案可以提高ai芯片的存储器测试的灵活性,减小芯片的存储器测试的周期和时限的压力,缩短执行存储器测试所需的时间,降低了芯片的制造和生产成本。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开的上述和其他特征、优点及方面将变得更加明显。应当理解,附图用于更好地理解本方案,不构成对本申请的限定。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:

图1示出了根据本公开的多个实施例的用于芯片的存储器的测试方案在其中实现的示例环境的示意图;

图2示出了根据本公开的多个实施例的用于芯片的存储器的测试过程的流程图;

图3示出了根据本公开的多个实施例的多个实施例的用于芯片的存储器的测试方案在其中实现的另一示例环境的示意图;

图4示出了根据本公开的多个实施例的用于芯片的运算单元的存储器的测试方案在其中实现的示例环境的示意图;

图5示出了根据本公开的多个实施例的用于芯片的存储器的测试的装置的示意框图;以及

图6示出了根据本公开的多个实施例的用于芯片的存储器测试的设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

如本文中所使用的,术语“芯片”指代通过任何已有的或将来开发的软件或硬件及其组合来实现的物理载体。在某些应用场景下,其包括但不限于,“soc”“晶块”、“晶元”、“裸片”、“集成电路”、“单片器件”、“半导体器件”、“微电子器件”,等等。

如本文中所使用的,术语“运算单元”指代指代芯片中的实现基本运算算法或功能的单元,其可以通过任何已有的或将来开发的软件或硬件或其组合来实现。通过运算单元可以实现芯片中的各种基本运算,例如,包括但不限于卷积、数值运算、向量运算、矩阵运算、字符运算,等等。

如本文中所使用的,术语“运算模块”指代芯片中实现一定功能或运算的模块,其可以通过任何已有的或将来开发的软件或硬件及其组合来实现。运算模块可以包括多个运算单元,例如,运算模块可以以阵列的形式包括多个运算单元。运算模块可以快速地实现复杂且重复地运算,以满足ai算法对于计算能力的需求。

如以上提及的,ai芯片被嵌入了大量的存储器(诸如,sram、dram、cache、flash,等)。为了对嵌入的存储器的有效性进行测试并对坏损的存储器进行替换/修复,通常在芯片出厂前对芯片中的存储器进行mbist。

传统的mbist方案在整个芯片设计完成之后才被执行,并且采用扁平测试的方式,即,在进行mbist测试时,不对芯片中的存储器进行区别,将芯片中的所有存储器作为一个整体进行测试。

随着ai芯片功能和计算能力的增强,ai芯片上所嵌入的存储器的数量也急剧增加。这使得对芯片上的所有存储器执行一次测试的时间比较长。尤其是当需要执行迭代mbist测试时,mbist测试将需要大量的时间,增加了芯片的制造成本。此外,随着芯片存储器数量的急剧增加,用于mbist测试的测试向量也越来越复杂。更重要的是,当芯片中的任一运算模块/功能单元需要调整时,均需要对整个芯片的所有存储器重新进行测试,导致了很多不必要的测试,操作灵活性差。

可见,在不增加或延长芯片设计制造周期的前提下,传统的mbist方案已经无法满足对应ai芯片的存储器执行测试的需求。因此,需要一种高效灵活的存储器的测试方案,以满足对于ai芯片的存储器进行测试的需求。

发明人首先注意到,随着ai芯片功能的复杂化,单个ai芯片通常包括多个运算模块,而这些运算模块通常被彼此独立地设计和实现。仅作为示例,用于图像处理的ai芯片可以包括至少一个向量运算模块以及至少一个位移运算子模块。上述运算模块可以由不同的设计团队彼此独立地完成。

其次,发明人注意到,现有的ai芯片的结构规整,并且具有逐层的分布的结构特点。具体而言,一个ai芯片可以包括多个运算模块,每个运算模块包括多个运算单元,每个运算单元又包括相应的多个存储器。

此外,发明人还注意到,ai芯片的结构具有较高的重复性。具体而言,相同功能的运算模块可以具有相同的结构。仅作为示例,一个用于图像处理的ai芯片可以包括多个(例如,6个)结构功能相同的卷积运算模块。进一步地,每个运算模块可以包括多个结构和功能相同的运算单元,仅作为示例,卷积运算模块可以是大小为1024*512的卷积运算单元的阵列。

而且,发明人还注意到,在现有的ai芯片中,每个运算单元可以包括一个执行相应运算逻辑的电路以及与之相对应的多个存储器,多个存储器通常被布置在执行相应运算逻辑的电路附近,以实现快速的数据交互。而属于同一运算单元的多个存储器,可以基于特定的准则(诸如,存储器的位置、类型、大小以及测试需求等)被划分为多个组,而多个组之间可以被彼此并行地进行mbist测试。

基于以上认识,本公开提出了一种用于芯片的存储器的测试(例如,mbist)的改进方案。根据本公开的实施例,用于芯片的存储器的测试不必在芯片的所有的子模块(即,运算模块)设计完成之后才一起执行,而是将芯片的存储器的测试提前到每个运算模块的设计制造中被独立地执行。具体而言,在芯片的运算模块的设计制造过程中,针对当前的运算模块,设计并生成测试向量以完成存储器的测试。以此方式,芯片的存储器测试无需在所有运算模块设计完成后才进行,mbist的测试周期和时限的压力均得到了缓解。此外,由于存储器的测试是针对单个运算模块而不是针对整个芯片执行的,因此降低了测试向量的设计复杂性。进一步地,由于芯片中的每个运算模块的存储器测试可以被独立地执行,使得当对一个运算模块进行调整时,无需对整个芯片的所有存储单元进行测试,避免了不必要的测试。因此,本公开提供了一种高效且灵活的存储器测试方案。

以下将参照附图来具体描述本公开的实施例。图1示出了本公开的多个实施例能够在其中实现的示例环境100的示意图。该示例环境100包括计算设备110、芯片150。其中芯片150包括第一运算模块120-1、第二运算模块120-2以及第l运算模块120-l。第一运算模块120-1、第二运算模块120-2以及第l运算模块120-l为芯片中待执行存储器测试的运算模块,例如,其可以为卷积运算模块、位移运算模块等,上述运算模块可以彼此独立地被设计。为了方便描述,多个运算模块120-1、120-2至120-l可以统称为运算模块120。

计算设备110为执行存储器测试的测试设备,例如,mbist控制设备等。如图1所示,计算设备110将第一测试向量130-1输入至第一运算模块120-1并接收第一运算模块120-1的第一测试结果140-1,将第二测试向量130-2输入至第二运算模块120-2并接收第二运算模块120-2的第二测试结果140-2。计算设备110基于第一测试结果140-1可以获得第一运算模块120-1中的存储器的有效性测试结果,基于第二测试结果140-2可以获得第二运算模块120-2中的存储器的有效性测试结果。进一步地,当确定存在坏损的存储器时,计算设备110可以对坏损的存储器进行替换或修复。

为了方便描述,多个测试向量,例如,第一测试向量130-1以及第二测试向量130-2,可以统称为测试向量130;多个测试结果,例如,第一测试结果140-1以及第二测试结果140-2,可以统称为测试结果140。应当理解,针对第一运算模块120-1的测试以及针对第二运算模块120-2的测试是彼此独立的,其可以根据设计和制造的需要,在不同的时间段被执行。

在一些实施例中,测试向量130以及测试结果140可以通过有线通信或无线通信的方式在计算设备110以及运算模块120之间被交互。在一些示例实施例中,计算设备110可以生成测试向量130。备选地,在另一些示例实施例中,计算设备110也可以通过与计算设备110相耦合的输入设备(包括但不限于,例如,鼠标、键盘、触摸笔、触摸屏,等等)来接收用户所输入的测试向量130。

应当理解,在图1所示出的计算设备110以及运算模块120的个数仅仅是示例性的而非限定性的,在其他实施例中,计算设备110以及运算模块120的数目是其他任意数据,本公开在此方面不受限制。

还应当理解,根据具体应用场景,测试向量130和测试结果140可以通过一次或多次交互在计算设备110和运算模块120之间被传递,本公开在此方面亦不受限制。

下文将参考图2来更详细地描述根据本公开的用于芯片的存储器的测试过程。图2示出了根据本公开的多个示例实施例的用于芯片的存储器的测试的过程200的流程图。过程200可以由图1的计算设备110来实现。为了方便讨论,将结合图1来描述过程200。

在框210,计算设备110针对芯片150中第一运算模块120-1,生成第一测试向量130-1。

在框220,计算设备110独立于芯片150中的其他运算模块(例如,第二运算模块120-1至第l运算模块),利用所生成的第一测试向量130-1,对第一运算模块120-1执行存储器测试。具体为,将第一测试向量130-1输出至第一运算模块120-1并接收第一运算模块120-1返回的第一测试结果140-1。

以此方式,相比于传统的存储器测试方案,第一运算模块120-1的存储器测试可以在第一运算模块120-1的设计和制造过程中被执行,而无需等待整个芯片150被设计完成后才执行。此外,无需针对整个芯片150的所有存储器设计测试向量,测试向量的复杂性被降低。最后,当对第一运算模块120-1进行调整后再次执行存储器测试时,无需对其他运算模块的存储器进行不需要的测试。

在一些实施例中,第一测试向量130-1可以被另一运算模块所重用。例如,计算设备110判断另一运算模块(例如,第二运算模块120-2)与第一运算模块120-1是否满足第一准则。如果满足第一准则,则计算设备110在对第二运算模块120-2执行存储器测试时,重用第一测试向量130-1。如果计算设备110判断第二运算模块120-2与第一运算模块120-1不满足第一准则,则计算设备110在对第二运算模块120-2执行存储器测试时,针对所述第二运算模块120-2,生成与第一测试向量130-1不同的第二测试向量130-2,利用所生成的第二测试向量130-2对第二运算模块120-2执行存储器测试。

在一些实施例中,第一准则为第二运算模块120-2与第一运算模块120-1具有相同的结构或运算功能。

仅作为示例,用于执行图像处理功能的ai芯片可以包括多个卷积运算阵列以及多个位移运算阵列,其中多个卷积运算阵列之间具有相同或至少相似的结构,多个位移运算阵列之间具有相同或至少相似的结构。基于上述结构之间的近似性,测试向量可以在多个卷积运算阵列或位移运算阵列之间被重用。

以此方式,测试向量130的设计复杂度被进一步降低。

应当理解,第一运算模块120-1独立于第二运算模块120-2执行存储器测试是指代二者之间的测试操作过程彼此独立,而并不必然意味着针对第一运算模块120-1和针对第二运算模块120-2的测试在时间上不能重叠。在某些实施例中,根据具体应用场景(例如,芯片150所包括的用于mbist的管脚数量、运算模块120的测试需求、测试成本等等),针对第一运算模块120-1和针对第二运算模块120-2的存储器测试可以被并行或串行地执行。

如上所讨论的,第一运算模块120-1可以为包括多个运算单元。返回图2,对本公开的用于芯片的存储器的测试的方案进一步说明如下。在框210,计算设备110可以针对第一运算模块120-1中的一个运算单元,生成子测试向量,并通过将生成的子测试向量在第一运算模块120-1中的所有运算单元之间重用,生成第一测试向量130-1。在框220,计算设备110通过针对第一运算模块120-1中的每个运算单元执行相应的存储器子测试,对所述第一运算模块120-1执行存储器测试。在一些实施例中,不同的存储器子测试之间通过并行地方式来被执行,在另外一些实施例中,不同的存储器子测试之间通过串行地方式来被执行。

现结合图3,对计算设备110针对第一运算模块120-1执行存储器测试的方案进行进一步的说明。图3示出了根据本公开的多个实施例的多个实施例的用于芯片的存储器的测试方案在其中实现的另一示例环境300的示意图。如图3所示,第一运算模块120-1包括多个运算单元310-11、310-12……310-1m;……;310-n1、310-n2……310-nm,其中n和m为正整数。即,第一运算模块120-1为m*n的运算单元的阵列。为了方便描述,多个运算单元310-11、310-12……310-1m;……;310-n1、310-n2……310-nm可以统称为运算单元310。

在一些实施例中,计算设备110可以针对第一运算模块120-1中的一个运算单元310,例如,运算单元310-11生成子测试向量,并通过将生成的子测试向量在第一运算模块120-1中的所有运算单元310之间重用来生成第一测试向量130-1。在图3所出示的示例性实施例中,可以将生成的子测试向量重用m*n次。

在一些实施例中,针对不同运算单元310(如图3中的运算单元310-11、310-12……310-1m;……;310-n1、310-n2……310-nm)所执行的多个存储器子测试可以以并行的方式来被执行。在另外一些实施例中,不同的存储器子测试之间可以通过串行的方式来被执行。

以此方式,充分地利用了属于同一运算模块120的不同运算单元310之间结构和功能相同/相似的特性,进一步简化了测试向量的设计。此外,不同的存储器子测试可以根据具体应用场景(例如,芯片150所包括的用于mbist的管脚数量、运算模块120的测试需求、测试成本等等)被并行地或串行地执行,进一步地提高了存储器测试的效率。

如上所讨论的,每个运算单元310包括一个执行相应运算逻辑的电路以及多个存储器,多个存储器通常被布置在执行相应运算逻辑的电路附近,以实现快速的数据交互。而属于同一运算单元的多个存储器,可以基于特定的准则(诸如,存储器的位置、类型、大小以及测试需求等)被划分为多个组。依据运算单元310的上述特性,用于芯片的存储器测试可以被进一步地得到改进。

结合图4,对计算设备110针对运算单元310执行存储器测试的方案进行进一步的说明。图4示出了根据本公开的多个实施例的用于芯片的运算单元310的存储器的测试方案在其中实现的示例环境400的示意图。如图4所示,运算单元310-11包括多个存储器410-11、410-12……410-1p;……410-r1、410-r2……410-rq,其中r和q为正整数。为了方便描述,多个存储器410-11、410-12……410-1p;……410-r1、410-r2……410-rq可以统称为存储器410。

备选地或附加地,在一些实施例中,运算单元310-11可以被布置有测试控制器440。测试控制器440可以被实现为计算设备110的一部分,或者被设计为独立于计算设备110的模块或实体。测试控制器440接收子测试向量420,并将运算单元310的测试结果430返回给相应的设备。在一些实施例中,测试控制器440可以为实现为mbist控制器。

在一些实施例中,计算单元310中的存储器410根据第二准则被划分为多个存储器组。

在一些实施例中,计算设备110可以根据存储器410的位置将存储器410划分为多个组。例如,计算设备110将位置彼此临近的存储器410划分为一个组。

备选地或附加地,计算设备110可以根据存储器410的类型(诸如,sram、dram、cache、flash,等)将存储器410划分为多个组。例如,计算设备110将所有的sram类型存储器划分为一个组,而所有的寄存器划分为另一组。

如图4所示,计算单元310-11中的存储器410被分化为r组存储器,其中,410-11、410-12……410-1p被划分为一组,而存储器410-r1、410-r2……410-rq被划分为另一组。

应当理解,计算设备110对存储器410进行划分的依据并不限于以上所讨论的示例,在其他实施例中,还可以依据存储器的大小、mbist的测试成本等,本公开在此方面不受限制。

在一些实施例中,每个存储器组包括的存储器数目为10-12个。

在一些实施例中,计算设备110针对所划分的所述至少一个组中的每一个,分别生成各自的组测试向量450。

在一些实施例中,测试控制器440基于所划分的组,对每个组执行相应的存储器组测试,不同的存储器组测试之间通过并行的方式来被执行。如图4所示,测试控制器440接收子测试向量420,并且基于子测试向量420生成用于第一组存储器的组测试向量450-1以及用于第r组存储器的组测试向量450-r。测试控制器440在第一组存储器以及第r组存储器之间并行地执行存储器组测试。

在一些实施例中,测试控制器440接收存储器组测试结果460-1和460-r,并将其作为运算单元测试结果430返回给相应的设备。

以此方式,属于同一计算单元310的存储器被划分为不同的存储器组,而不同的存储器组之间被采用并行方的方式执行存储器组测试,使得存储器测试的性能得到提升。

进一步地,在ai芯片中,还包括一些未被任何运算模块120包括的公共存储器(诸如,一些低速存储器)。此外,每个运算模块120除了包括被布置在各个运算单元310中的存储器外,还包括一些用于本运算模块120的公共存储器(诸如,一些低速存储器)。在一些实施例中,计算设备110可以将这些公共存储器按照预定的准则(包括但不限于,位置、类型以及测试需求等等)划分为多个运算模块,并按照本公开的存储器测试方法对上述公共存储器执行存储器测试。

在一些实施例中,在执行存储器测试时,通过相应的时钟控制模块来辅助执行,已对存储器测试的读写速率进行控制。

应当理解,在设计具体的测试向量的数值时,可以采用任何现有的或将来的用于设计测试向量的方法,在执行存储器测试的布线时,可以采用任何现有的或将来的布线方式,本公开在此方面不受限制。

此外,还应当理解,本公开的方法除适用于ai芯片的设计和制造过程外,也同样适用于芯片的仿真、研发以及模拟等过程。

通过本公开的实施例,与传统的基于扁平化的mbist方法不同,本发明采用层次化存储器测试技术,将mbist测试提前至芯片的运算模块120设计和制造阶段,缓解了mbist的测试周期和测试时限的压力,同时降低了测试向量设计的复杂度。进一步地,由于每个运算模块120的存储器410的测试可以被独立地执行,使得当一个运算模块发生调整需要重新执行存储器测试时,无需对其他运算模块的存储器410执行不必要的测试。

此外,测试向量在相同功能的运算模块120之间以及同一运算模块120的多个运算单元310之间被重用,进一步降低了测试向量设计的复杂度。

进一步地,本公开将同一个运算单元310中的存储器410进行分组,不同的存储器组之间使用不同测试向量执行并行的存储器组测试,进一步地缩短了存储器测试的时间,降低了芯片的生产和制造成本。

图5示出了根据本公开实施例的用于芯片的存储器测试的装置500的示意性框图。装置500可以被包括在如图1所示的计算设备110中或者被实现为计算设备110。如图5所示,装置500包括第一测试向量130-1生成模块510,被配置为被配置为针对至少一个运算模块中的第一运算模块120-1,生成第一测试向量130-1。装置500还可以包括第一存储器测试模块520,被配置为被配置为独立于至少一个运算模块120中的不同于第一运算模块120-1的其他运算模块,利用所生成的第一测试向量130-1,对第一运算模块120-1执行存储器测试。

在一些实施例中,如果其他运算模块中的第二运算模块120-2与第一运算模块120-1满足第一准则,装置500还包括:第二存储器测试模块,被配置为利用第一测试向量130-1,对第二运算模块120-2执行存储器测试;以及如果其他运算模块中的第二运算模块120-2与第一运算模块120不满足第一准则,装置500还包括:第二测试向量生成模块,被配置为针对第二运算模块120-2,生成第二测试向量;以及第三存储器测试模块,被配置为独立于至少一个运算模块中的其他运算模块,利用所生成的第二测试向量130-2,对第二运算模块120-2执行存储器测试,其中第二测试向量130-2与第一测试向量130-1不同。

在一些实施例中,第一准则为第二运算模块120-2与第一运算模块120-1具有相同的结构或运算功能。

在一些实施例中,第一测试向量生成模块510包括:子测试向量420生成模块,被配置为针对运算模块中的一个运算单元310,生成子测试向量420;以及子测试向量重用模块,被配置为通过将子测试向量420在第一运算模块120-1中的所有运算单元310之间重用,生成第一测试向量130-1。

在一些实施例中,装置500还包括第一存储器划分模块,被配置为根据第二准则,将运算单元中的至少一个存储器410划分为至少一个组。子测试向量生成模块包括:组测试向量生成模块,被配置为针对所划分的至少一个组中的每一个,分别生成各自的组测试向量450;以及组测试向量合成模块,被配置为基于所生成的组测试向量450,生成子测试向量420。

在一些实施例中,第一存储器划分块包括:第一存储器组划分模块:被配置为根据至少一个存储器的位置和类型,将运算单元中的至少一个存储器420划分为至少一个组。

在一些实施例中,第一存储器测试模块包括:存储器子测试模块,被配置为通过针对第一运算模块120-1的至少一个运算单元310中的每个运算单元执行相应的存储器子测试,对第一运算模块120-1执行存储器测试,其中不同的存储器子测试之间通过并行地或串行地方式来被执行。

在一些实施例中,装置500还包括第二存储器划分模块:被配置为根据第三准则,将运算单元310中的至少一个存储器420划分为至少一个组,其中存储器子测试模块还包括:通过针对所划分的至少一个组中的每个组执行相应的存储器组测试,执行存储器子测试,其中不同的存储器组测试之间通过并行地方式来被执行。

在一些实施例中,第二存储器划分模块包括:第二存储器组划分模块,被配置为根据至少一个存储器420的位置和类型,将运算单元310中的至少一个存储器420划分为至少一个组。

图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。设备600可以用于实现如图1所示的图像处理设备130。如图所示,设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序指令,来执行各种适当的动作和处理。在ram603中,还可存储设备600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元601执行上文所描述的各个方法和处理,例如过程400。例如,在一些实施例中,过程200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram603并由cpu601执行时,可以执行上文描述的过程400的一个或多个步骤。备选地,在其他实施例中,cpu601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程400。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1