1.本技术涉及集成电路技术领域,尤其涉及一种efuse的编程控制方法及efuse控制器。
背景技术:
2.随着科技的发展,电子设备已经应用在各行各业,为人们的生活和工作提供了很大的遍历。芯片作为电子设备的控制系统核心组件,是决定电子设备的性能的关键器件。因此,芯片的稳定性是电子设备稳定运行的关键。efuse(电可编程熔丝)作为芯片的特殊存储空间,efuse中的数据的可靠性是影响芯片的稳定性的关键因素。
3.由于efuse中同一个比特位只能进行一次编程,因此,确保efuse的数据的正确性极为重要。
技术实现要素:
4.本技术实施例提供了一种efuse的编程控制方法及efuse控制器,能够保证efuse的数据的正确性,避免芯片的功能错误,保证芯片的稳定性。
5.第一方面,本技术实施例提供了一种efuse的编程控制方法,方法包括:
6.读取efuse中的信息,信息包括数据锁存字段的数值、第一efuse数据和第一循环冗余校验(cyclic redundancy check,crc)参考值,数据锁存字段的数值用于指示efuse中是否存在需要编程的比特位;
7.在数据锁存字段的数值为有效值的情况下,根据第一efuse数据,确定第一crc实际值;
8.在第一crc参考值与第一crc实际值一致的情况下,通过第一efuse数据配置芯片。
9.根据本方案,通过在efuse中预留数据锁存字段,当数据锁存字段的数值为有效值时,表示efuse中的需要编程比特位已经编程完毕,无法再次对efuse进行编程,可对芯片进行数据配置。在需要对efuse进行编程之前,为了保证编程的数据的正确性,efuse控制器需要从efuse中读取信息,从而确定efuse中的数字锁存字段的数值、crc字段的第一crc参考值和数据锁存字段的数据(即第一efuse数据)。当数据锁存字段的数值为有效值,需要根据第一efuse数据计算第一crc实际值,从而通过比较第一crc实际值和第一crc参考值,来验证efuse中的数据是否是正确的。其中,在第一crc实际值和第一crc参考值一致的情况下,efuse中的数据是正确的。如此,能够保证efuse中的数据是正确的,避免芯片的功能错误,保证芯片的稳定性。
10.在一种可能的实现方式中,在数据锁存字段的数值为无效值的情况下,efuse中存在需要编程的比特位,方法还包括:
11.根据第一efuse数据配置芯片,并将第一efuse数据写入到第一数据表中;
12.确定第二efuse数据、第二crc参考值和待写入数据锁存字段的数值;
13.根据第二efuse数据,计算第二crc实际值;
14.在第二crc实际值和第二crc参考值一致的情况下,根据第一数据表和第二efuse数据,确定第二数据表,以确定efuse中需要编程的比特位。
15.如此,为了保证在将第二efuse数据写入到efuse控制器中,未出现错误,需要根据第二efuse数据计算第二crc实际值,从而根据第二crc实际值和第二crc参考值,对写入到efuse控制器中的第二efuse数据的正确性进行验证。
16.在一种可能的实现方式中,方法还包括:
17.在待写入数据锁存字段的数值为无效值的情况下,efuse中不存在需要编程的比特位,根据第二数据表,对efuse进行编程。
18.在一种可能的实现方式中,根据第一数据表和第二efuse数据,确定第二数据表,包括:
19.若第一数据表中目标比特位的数据的状态值为第一数值,且第二efuse数据中与目标比特位对应的比特位的数据的状态值为第一数值,则在efuse中目标比特位的数据为不可变的数据,第二数据表中目标比特位数据的状态值为第二数值;
20.若第一数据表中目标比特位的数据的状态值为第一数值,且第二efuse数据中与目标比特位对应的比特位的数据的状态值为第二数值,则在efuse中目标比特位的数据为不可变的数据,第二数据表中目标比特位的数据的状态值为第二数值;
21.若第一数据表中目标比特位的数据的状态值为第二数值,且第二efuse数据中与目标比特位对应的比特位的数据的状态值为第一数值,则在efuse中目标比特位的数据还未编程,第二数据表中目标比特位的数据的状态值为第一数值。
22.在一种可能的实现方式中,方法还包括:
23.在待写入数据锁存字段的数值为有效值的情况下,根据第一数据表和第二数据表合成第三数据表;
24.根据第三数据表计算最终的crc参考值;
25.根据第二数据表和最终的crc参考值,对efuse进行编程。
26.第二方面,本技术实施例提供了一种efuse控制器,方法包括:
27.读取模块,用于读取efuse中的信息,信息包括数据锁存字段的数值、第一efuse数据和第一循环冗余校验crc参考值,数据锁存字段的数值用于指示efuse中是否存在需要编程的比特位;
28.确定模块,用于在数据锁存字段的数值为有效值的情况下,efuse中不存在需要编程的比特位,根据第一efuse数据,确定第一crc实际值;
29.控制模块,用于在第一crc参考值与第一crc实际值一致的情况下,通过第一efuse数据配置芯片。
30.根据本方案,通过在efuse中预留数据锁存字段,当数据锁存字段的数值为有效值时,表示efuse中的需要编程的比特位已经编程完毕,无法再次对efuse进行编程,可对芯片进行数据配置。在需要对efuse进行编程之前,为了保证编程的数据的正确性,efuse控制器需要从efuse中读取信息,从而确定efuse中的数字锁存字段的数值、crc字段的第一crc参考值和数据锁存字段的数据(即第一efuse数据)。当数据锁存字段的数值为有效值,需要根据第一efuse数据计算第一crc实际值,从而通过比较第一crc实际值和第一crc参考值,来验证efuse中的数据是否是正确的。其中,在第一crc实际值和第一crc参考值一致的情况
下,efuse中的数据是正确的。如此,能够保证efuse中的数据是正确的,避免芯片的功能错误,保证芯片的稳定性。
31.在一种可能的实现方式中,在数据锁存字段的数值无效值的情况下,efuse中存在需要编程的比特位,控制模块还用于根据第一efuse数据配置芯片;
32.确定模块还用于将第一efuse数据写入到第一数据表中;
33.确定模块还用于确定第二efuse数据、第二crc参考值和待写入数据锁存字段的数值;
34.控制器还包括:
35.计算模块,根据第二efuse数据,计算第二crc实际值;
36.确定模块还用于在第二crc实际值和第二crc参考值一致的情况下,根据第一数据表和第二efuse数据,确定第二数据表,以确定efuse中需要编程的比特位。
37.在一种可能的实现方式中,所述控制器还包括:
38.编程模块,在待写入数据锁存字段的数值为无效值的情况下,efuse中不存在需要编程的比特位,根据第二数据表,对efuse进行编程。
39.在一种可能的实现方式中,确定模块用于:
40.若第一数据表中目标比特位的数据的状态值为第一数值,且第二efuse数据中与目标比特位对应的比特位的数据的状态值为第一数值,则在efuse中目标比特位的数据为不可变的数据,第二数据表中目标比特位数据的状态值为第二数值;
41.若第一数据表中目标比特位的数据的状态值为第一数值,且第二efuse数据中与目标比特位对应的比特位的数据的状态值为第二数值,则在efuse中目标比特位的数据为不可变的数据,第二数据表中目标比特位的数据的状态值为第二数值;
42.若第一数据表中目标比特位的数据的状态值为第二数值,且第二efuse数据中与目标比特位对应的比特位的数据的状态值为第一数值,则在efuse中目标比特位的数据还未编程,第二数据表中目标比特位的数据的状态值为第一数值。
43.在一种可能的实现方式中,装置还包括:
44.合成模块,用于在待写入数据锁存字段的数值为有效值的情况下,根据第一数据表和第二数据表合成第三数据表;
45.计算模块还用于根据第三数据表计算最终的crc参考值;
46.编程模块还用于根据第二数据表和最终的crc参考值,对efuse进行编程。
47.第三方面,本技术实施例提供了一种efuse控制器,包括:
48.至少一个存储器,用于存储程序;
49.至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面或第一方面任一种可能的实现方式中的方法。
50.第四方面,本技术实施例提供了一种计算机存储介质,计算机存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行第一方面或第一方面任一种可能的实现方式中的方法。
附图说明
51.图1示出了本技术实施例提供的一种efuse的编程控制方法的流程示意图;
52.图2示出了本技术实施例提供的一种efuse中的字段结构示意图;
53.图3示出了本技术实施例提供的一种生成数据表的方法的示意图;
54.图4示出了本技术实施例提供的一种efuse控制器的结构示意图;
55.图5示出了本技术实施例提供的另一种efuse控制器的结构示意图。
具体实施方式
56.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本技术实施例中的技术方案进行描述。
57.在本技术实施例的描述中,“示例性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
58.在本技术实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。
59.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
60.随着科技的发展,电子设备已经应用在各行各业,为人们的生活和工作提供了很大的遍历。芯片作为电子设备的控制系统核心组件,是决定电子设备的性能的关键器件。因此,芯片的稳定性是电子设备稳定运行的关键。efuse(电可编程熔丝)作为芯片的特殊存储空间,efuse中的数据的可靠性是影响芯片的稳定性的关键因素。
61.efuse是一次性可编程存储器,通常用于存储芯片的信息,如芯片可以使用的电源电压、芯片的版本号、芯片的生产日期、芯片的秘钥等。但是,efuse中同一个比特位只能进行一次编程,因此,确保编程时写入efuse的数据的正确性极为重要,进而能够避免芯片的功能错误。
62.基于此,本技术实施例提供了一种efuse的编程控制方法及efuse控制器,通过在efuse中预留数据锁存字段,当数据锁存字段的数值为有效值时,表示efuse中的所有比特位已经编程完毕,无法再次对efuse进行编程。同时,可以根据efuse中的数据字段中的数据(即第一efuse数据)计算第一crc实际值,efuse中的信息还包括第一crc参考值,在第一crc实际值和第一crc参考值一致的情况下,则efuse中的数据是正确的,如此,能够保证写入efuse中的数据是正确的。
63.接下来,对本技术实施例提供的一种efuse的编程控制方法进行详细说明。
64.图1是本技术实施例提供的一种efuse的编程控制方法的流程示意图。如图1所示,本技术实施例提供的efuse的编程控制方法包括s101至s113。
65.s101,读取efuse中的信息。
66.在芯片上电后,为了避免芯片功能错误,需要读取efuse中的信息。其中,如图2所
示,efuse中包括crc字段、数据锁存字段lock和数据字段data。crc字段用于存储crc值,用于检验efuse数据字段记载的数据是否是正确的。数据锁存字段lock用于标识efuse中是否还需要再次进行编程。例如,lock=1为有效值,表示efuse存在比特位需要编程。lock=0为无效值,表示efuse不存在需要编程的比特位。在这里,多次对efuse编程并非是对同一比特位进行编程。数据字段用于记载efsue数据,即芯片的信息。在这里,数据字段可以有多个,如图2所示,数据字段包括data0,data1,data2,
……
,datan-1,datan。其中,data1,data2,
……
,datan-1,datan均为32比特(bit)。
67.在本技术实施例中,efuse中的信息包括数据锁存字段的数值、第一efuse数据和第一crc参考值。其中,第一efuse数据即为efuse中所有数据字段中的数据。第一crc参考值是在将第一efuse数据编程至efuse中之前,根据第一efuse数据计算得到的crc值。
68.s102,判断数据锁存字段的数值是否为有效值,若是,则执行s103,若否,则执行s107。
69.示例性地,数据锁存字段的数值为“1”的情况下,则数据字段的数值为有效值,efuse中不存在需要编程的比特位。数据锁存字段的数值为“0”的情况下,则数据字段的数值为无效值,efuse中存在需要编程的比特位。
70.s103,根据第一efuse数据,确定第一crc实际值。
71.在数据锁存字段的数值为有效值的情况下,efuse中即使存在未编程的比特位,也不会在对efuse编程,或者efuse中不存在需要编程的比特位。
72.s104,判断第一crc实际值与第一crc参考值是否一致,若是执行,s105。
73.s105,根据第一efuse数据,配置芯片。
74.在数据锁存字段的数值为有效值的情况下,为了避免在将第一efuse数据写入到efuse的过程中出现错误,需要对efsue中数据字段的数据的正确性进行验证。在本技术实施例中,根据第一efuse数据,计算第一crc实际值。为了保证编程至efuse中的数据的正确性,即在将数据编程至efuse的过程中未出现错误,需要将第一crc实际值和第一crc参考值进行比对。在第一crc参考值和第一crc实际值一致的情况下,将第一efuse数据编程至efuse的过程中未出现错误,即第一efuse数据是正确的,进而避免了芯片的功能错误,保证芯片的稳定性。
75.在第一crc实际值和第一crc参考值不一致的情况下,无法配置芯片的功能,芯片处于工作异常状态。
76.s106,根据第一efuse数据配置芯片。
77.在数据锁存字段的数值为无效值的情况下,无需做crc校验。并根据读取的第一efuse数据配置芯片。在这里,在数据锁存字段的数值为无效值的情况下,efuse中的数据还未编程结束,即efuse中当前只存储了部分芯片的信息。在通过第一efuse数据配置芯片后,芯片中的部分功能能够工作。
78.s107,将第一efuse数据写入到第一数据表中。
79.第一数据表用于表示已经写入到efuse中的数据。为了记录efuse中已经编程的数据,可以将第一efuse数据记录在第一数据表中,从而方便再次对efuse中其他比特位编程。
80.s108,确定第二efsue数据和第二crc参考值。
81.由于efuse中还存在需要编程的比特位,因为还需要根据第二efuse数据和第二
crc参考值,对efuse编程,以用于配置芯片中的其他功能。第二efuse数据记载了芯片的相关信息,且第二efuse数据中记载的信息与第一efuse数据中记载的信息是不同的。
82.在本技术实施例中,工作人员能够将第二efuse数据和第二crc参考值配置到efuse控制器中。
83.在一种可能的实现方式中,efuse控制器还能够确定待写入数据锁存字段的数值。其中,待写入数据锁存字段的数值可以是工作人员配置给efuse控制器的。
84.s109,根据第二efuse数据,计算第二crc实际值。
85.s110,判断第二crc实际值和第二crc参考值是否一致。若是,执行s111,若否,跳转至s108。
86.为了保证写入到efuse中的数据正确,保证芯片的功能正常,需要在将第二efuse数据写入到efuse中之前,对第二efuse数据进行验证。第二efuse数据的验证原理与第一efuse数据相同,可参见上述对第一efuse数据的验证方式的说明,在此不再赘述。
87.s111,根据第一数据表和第二efuse数据,确定第二数据表。
88.具体地,若第一数据表中目标比特位的数据的状态值为第一数值,且第二数据表中与目标比特位对应的比特位的数据的状态值为第一数值,则目标比特位的数据为不可变的数据,将目标比特位数据的状态值置为第二数值;若第一数据表中目标比特位的数据的状态值为第一数值,且第二数据表中与目标比特位对应的比特位的数据的状态值为第二数值,则目标比特位的数据为不可变的数据,将目标比特位的数据的状态值置为第二数值;若第一数据表中目标比特位的数据的状态值为第二数值,且第二数据表中与目标比特位对应的比特位的数据的状态值为第一数值,则目标比特位的数据还未编程,将目标比特位的数据的状态值置为第一数值。
89.示例性地,第一数值可以是“1”,第二数值可以是“0”。新写入的数据,即第二efuse数据的逐个比特位的数据与旧数据表(即第一数据表)中的数据做比较,若旧数据表中比特位的数据为1,并且新写入的该比特位数据也为1,表明efuse中该比特位已经为1,不可再次编程,此时把旧数据表中该比特位的数值修改为0。若旧数据表中比特位的数据为1,并且新写入的该位数据为0,表明efuse中该比特位已经为1,此时把旧数据表中该比特位的数据修改为0;若旧数据表中比特位的数据为0,并且新写入的该比特位数据为1,表明efuse中该比特位尚未编程,此时把旧数据表中该比特位的数值修改为1;若旧数据表中比特位的数据为0,并且新写入的该位数据也为0,此时把旧数据表中该位的数值不变。在对比完所有数据后,得到一张需要写入efuse的新的数据表,即第二数据表,第二数据表中比特位为1时,表明为需要向efuse编程的比特位。比特位为0时,表示已经编程或不需要编程。通过引入数据表的方式,很好的解决了同一比特位因多次编程导致该比特位为不定态的问题,增强了efuse的健壮性。
90.例如,如图3所示,新数据为1010_0100、1111_1111、0000_0000、0000_0000、0000_0000、0000_0000、0000_0000、0000_0000。旧数据表如图3所示,旧数据分别是0011_0010、0000_1111、1111_0000、0000_0000、0000_0000、0000_0000、1111_1111、0010_0001。其中,新数据1010_0100与旧数据0011_0010对应。
91.旧数据0011_0010的第一个比特位的数据为0,新数据1010_0100的第一个比特位的数据为1,将旧数据表中的旧数据0011_0010的第一个比特位的数据修改为1。旧数据
0011_0010的第二个比特位的数据为0,新数据1010_0100的第二个比特位的数据为0,那么旧数据表第二个比特位的数据不变。旧数据0011_0010的第三个比特位的数据为1,新数据1010_0100的第三个比特位的数据为1,那么旧数据表第三个比特位的数据修改为0。旧数据0011_0010的第四个比特位的数据为1,新数据1010_0100的第四个比特位的数据为0,那么旧数据表第四个比特位的数据修改为0。旧数据0011_0010的第五个比特位的数据为0,新数据1010_0100的第五个比特位的数据为0,那么旧数据表第五个比特位的数据不变。旧数据0011_0010的第六个比特位的数据为0,新数据1010_0100的第六个比特位的数据为1,那么旧数据表第六个比特位的数据修改为1。旧数据0011_0010的第七个比特位的数据为1,新数据1010_0100的第七个比特位的数据为1,那么旧数据表第七个比特位的数据修改为0。旧数据0011_0010的第八个比特位的数据为0,新数据1010_0100的第八个比特位的数据为0,那么旧数据表第八个比特位的数据不变。因此,新的数据表中的第一行数据为1000_0100。以此类推,新的数据表中第二行的数据为1111_0000。新的数据表中第三行至第八行的数据均为00000000。
92.s112,判断待写入数据锁存字段的数值是否是有效值,若是,执行s114,若否,执行s116。
93.在s112中,待写入数据锁存字段的数值是工作人员配置到efuse控制器中的,如s108中对数据锁存字段的数值的说明。在数据锁存字段的数值为有效值的情况下,
94.s113,根据第一数据表和第二数据表合成第三数据表。
95.第三数据表可以看作是记录本次工作人员需要对efuse编程的所有数据,即第一数据表中记录的数据和第二数据表中记录的数据的总和。
96.s114,根据第三数据表计算最终的crc参考值。
97.s115,根据第二数据表和最终的crc参考值,对efuse进行编程。
98.为了保证后续对芯片进行配置的过程中,efuse中的数据的正确性,需要确定本次写入到efuse中的数据对应的crc值,即最终的crc参考值。其中,最终的crc参考值实际是根据第一efuse数据和第二efuse数据共同计算得到的。
99.s116,根据第二数据表,对efuse进行编程。
100.根据本技术实施例,通过在efuse中预留数据锁存字段,当数据锁存字段的数值为有效值时,表示efuse中的需要编程比特位已经编程完毕,无法再次对efuse进行编程。同时,可以根据efuse中的数据字段中的数据(即第一efuse数据)计算第一crc实际值,efuse中的信息还包括第一crc参考值,在第一crc实际值和第一crc参考值一致的情况下,则efuse中的数据是正确的,如此,能够保证写入efuse中的数据是正确的,避免芯片的功能错误,保证芯片的稳定性。
101.基于上述实施例中的efuse的编程控制方法,本技术实施例还提供了一种efuse控制器。图4是本技术实施例提供的一种efuse控制器400的结构示意图,如图4所示,该控制器400可以包括读取模块401,确定模块402,控制模块403。
102.读取模块401,用于读取efuse中的信息,所述信息包括数据锁存字段的数值、第一efuse数据和第一循环冗余校验crc参考值,所述数据锁存字段的数值用于指示所述efuse中是否存在需要编程的比特位;
103.确定模块402,用于在所述数据锁存字段的数值为有效值的情况下,根据所述第一
efuse数据,确定第一crc实际值;
104.控制模块403,用于在所述第一crc参考值与所述第一crc实际值一致的情况下,通过所述第一efuse数据配置芯片。
105.读取模块,用于读取efuse中的信息,信息包括数据锁存字段的数值、第一efuse数据和第一循环冗余校验crc参考值,数据锁存字段的数值用于指示efuse中是否存在需要编程的比特位;
106.确定模块,用于在数据锁存字段的数值为有效值的情况下,efuse中不存在需要编程的比特位,根据第一efuse数据,确定第一crc实际值;
107.控制模块,用于在第一crc参考值与第一crc实际值一致的情况下,通过第一efuse数据配置芯片。
108.根据本方案,通过在efuse中预留数据锁存字段,当数据锁存字段的数值为有效值时,表示efuse中的所有比特位已经编程完毕,无法再次对efuse进行编程,可对芯片进行数据配置。在需要对efuse进行编程之前,为了保证编程的数据的正确性,efuse控制器需要从efuse中读取信息,从而确定efuse中的数字锁存字段的数值、crc字段的第一crc参考值和数据锁存字段的数据(即第一efuse数据)。当数据锁存字段的数值为有效值,需要根据第一efuse数据计算第一crc实际值,从而通过比较第一crc实际值和第一crc参考值,来验证efuse中的数据是否是正确的。其中,在第一crc实际值和第一crc参考值一致的情况下,efuse中的数据是正确的。如此,能够保证efuse中的数据是正确的,避免芯片的功能错误,保证芯片的稳定性。
109.在一种可能的实现方式中,在数据锁存字段的数值无效值的情况下,efuse中存在需要编程的比特位,控制模块还用于根据第一efuse数据配置芯片;
110.确定模块还用于将第一efuse数据写入到第一数据表中;
111.确定模块还用于确定第二efuse数据、第二crc参考值和待写入数据锁存字段的数值;
112.控制器还包括:
113.计算模块404,根据第二efuse数据,计算第二crc实际值;
114.确定模块还用于在第二crc实际值和第二crc参考值一致的情况下,根据第一数据表和第二efuse数据,确定第二数据表,以确定efuse中需要编程的比特位。
115.在一种可能的实现方式中,控制器还包括:
116.编程模块405,用于在待写入数据锁存字段的数值为无效值的情况下,efuse中不存在需要编程的比特位,根据第二数据表,对efuse进行编程。
117.在一种可能的实现方式中,确定模块用于:
118.若第一数据表中目标比特位的数据的状态值为第一数值,且第二efuse数据中与目标比特位对应的比特位的数据的状态值为第一数值,则在efuse中目标比特位的数据为不可变的数据,第二数据表中目标比特位数据的状态值为第二数值;
119.若第一数据表中目标比特位的数据的状态值为第一数值,且第二efuse数据中与目标比特位对应的比特位的数据的状态值为第二数值,则在efuse中目标比特位的数据为不可变的数据,第二数据表中目标比特位的数据的状态值为第二数值;
120.若第一数据表中目标比特位的数据的状态值为第二数值,且第二efuse数据中与
目标比特位对应的比特位的数据的状态值为第一数值,则在efuse中目标比特位的数据还未编程,第二数据表中目标比特位的数据的状态值为第一数值。
121.在一种可能的实现方式中,装置还包括:
122.合成模块406,用于在待写入数据锁存字段的数值为有效值的情况下,根据第一数据表和第二数据表合成第三数据表;
123.计算模块还用于根据第三数据表计算最终的crc参考值;
124.编程模块还用于根据第二数据表和最终的crc参考值,对efuse进行编程。
125.下面介绍本技术实施例提供的一种efuse控制器。
126.图5是本技术实施例提供的一种efuse控制器的结构示意图。如图5所示,本技术实施例提供的efuse控制器可用于实现上述方法实施例中描述的efuse的编程控制方法。
127.efuse控制器可以包括处理器501以及存储有计算机程序指令的存储器502。
128.具体地,上述处理器501可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
129.存储器502可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器502可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关容灾设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。
130.存储器可包括只读存储器(rom),随机存取存储器(ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本技术中的方法所描述的操作。
131.处理器501通过读取并执行存储器502中存储的计算机程序指令,以实现上述实施例中的任意一种efuse的编程控制方法。
132.在一个示例中,电子设备还可包括通信接口503和总线510。其中,如图5所示,处理器501、存储器502、通信接口503通过总线510连接并完成相互间的通信。
133.通信接口503,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。
134.总线510包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线510可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
135.另外,结合上述实施例,本技术实施例可提供一种计算机存储介质来实现。该计算
机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种efuse的编程控制方法。
136.以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本技术的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
137.还需要说明的是,本技术中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本技术不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
138.上面参考根据本技术的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
139.以上所述,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。