笔记本电脑嵌入式控制器是否有写入限制?
Does laptop Embedded Controller have limited writes?
我想知道我是否应该担心对笔记本电脑上的嵌入式控制器寄存器的过度写入。我猜如果它们是真正的寄存器,它们可能更像 RAM 而不是闪存,所以这不是问题。
但是,我有一个脚本可以修改笔记本电脑 EC 中的寄存器,以更好地控制风扇速度曲线。它必须在每次电源更改事件(例如 sleep/wake 以及电源线事件)后重新应用,因此它经常发生。我只是想确保我没有在这个过程中烧坏我的筹码。
我用来写入 EC 的脚本位于此处:
https://github.com/RayfenWindspear/perl-acpi-fanspeed
嗯,看来您正在写入 ACPI 寄存器。这里的寄存器不指代任何特定的硬件;它只是意味着它是您可以使用特定总线到达的特定地址。然而,每次电源循环后您必须重写的东西覆盖永久存储的可能性极小,因此对于所有实际方面,我认为只要您的笔记本电脑还活着,您就可以依赖它。
硬件外围设备几乎普遍实现为 SRAM 单元。它们不会先磨损。您控制的风扇的循环次数有限 start/stop。因此,切换这些寄存器的行为更有可能过早地磨损其他东西(而不是 SRAM 类型的存储单元本身)。
对于您的具体情况,正确驾驶 fan/motor 可以显着延长其使用寿命。过度驾驶 fan/motor 并不总能让它跑得更快,反而会产生热量。热量会削弱接线,最终线圈会短路,减少驱动并最终磨损。也就是说,被冷却的元件可能会因过热而损坏,因此仅仅为了降低声音而进行调整可能没有意义。
背景详情
通常,元素称为 Flip-Flop with various forms. SystemRDL 是一个示例,SystemC 和其他数字工程师将在其中对其进行建模。在数字硬件中,触发器具有默认值或重置值。这就像每个芯片上的 ROM 一样固定并且通常不可重新编程,使用 EEPROM 技术 Note1 或通常通过输入线配置,硬件设计人员可以将它们 high/low 与一个电阻器或将它们连接到另一个元件 'GPIO'.
类似于'initdata'。不为零的程序值会在程序启动时从闪存、磁盘等复制到内存中。因此,触发器通常不会在电源循环期间保持状态;其他东西可以做到这一点。
'Flash' 技术基于浮动门并使用 'quantum tunnelling' 对浮动门进行编程。这个过程具有轻微的破坏性。它是由 Fowler and Nordheim 于 1967 年发明的,但广泛的电子行业直到 90 年代初才开始生产它们,先是 NOR 闪存,然后是 NAND 闪存和许多变体。但是基础物理是相同的;只是数字连接不同。所以除了你关心的这个缺陷外,闪存技术实际上遵循了许多硬件芯片,如 68k、i386 等。所以 'flip-flops' 已经很好地建立起来,通常逻辑的 'register' 部分不是一个典型的芯片和触发器使用与芯片逻辑的其余部分相同的逻辑(门)。这意味着使用 flash 会带来额外的开销,而且几乎没有好处。
一些额外的收获是芯片的启动和关闭通常是最具破坏性的时间。糟糕的硬件设计人员通常不会进行适当的电压监控,并且某些线路可能会浮动,并期望系统程序会立即设置它们。复位事件、ESD、过热等都比写入外设寄存器的行为更有害。
注 1:EEPROM 通常有 100,000+ 个周期。这些功能通常只在制造时使用一次,用于为系统设置芯片配置。这些实际上非常罕见,但有可能。
SSD 中的 MLC(多级)NAND 闪存在某些情况下具有可怜的低周期,如 8,000。 SLC(单级)old school flash 有10,000+ 周期,但是人们要求大数据格式。
我想知道我是否应该担心对笔记本电脑上的嵌入式控制器寄存器的过度写入。我猜如果它们是真正的寄存器,它们可能更像 RAM 而不是闪存,所以这不是问题。
但是,我有一个脚本可以修改笔记本电脑 EC 中的寄存器,以更好地控制风扇速度曲线。它必须在每次电源更改事件(例如 sleep/wake 以及电源线事件)后重新应用,因此它经常发生。我只是想确保我没有在这个过程中烧坏我的筹码。
我用来写入 EC 的脚本位于此处: https://github.com/RayfenWindspear/perl-acpi-fanspeed
嗯,看来您正在写入 ACPI 寄存器。这里的寄存器不指代任何特定的硬件;它只是意味着它是您可以使用特定总线到达的特定地址。然而,每次电源循环后您必须重写的东西覆盖永久存储的可能性极小,因此对于所有实际方面,我认为只要您的笔记本电脑还活着,您就可以依赖它。
硬件外围设备几乎普遍实现为 SRAM 单元。它们不会先磨损。您控制的风扇的循环次数有限 start/stop。因此,切换这些寄存器的行为更有可能过早地磨损其他东西(而不是 SRAM 类型的存储单元本身)。
对于您的具体情况,正确驾驶 fan/motor 可以显着延长其使用寿命。过度驾驶 fan/motor 并不总能让它跑得更快,反而会产生热量。热量会削弱接线,最终线圈会短路,减少驱动并最终磨损。也就是说,被冷却的元件可能会因过热而损坏,因此仅仅为了降低声音而进行调整可能没有意义。
背景详情
通常,元素称为 Flip-Flop with various forms. SystemRDL 是一个示例,SystemC 和其他数字工程师将在其中对其进行建模。在数字硬件中,触发器具有默认值或重置值。这就像每个芯片上的 ROM 一样固定并且通常不可重新编程,使用 EEPROM 技术 Note1 或通常通过输入线配置,硬件设计人员可以将它们 high/low 与一个电阻器或将它们连接到另一个元件 'GPIO'.
类似于'initdata'。不为零的程序值会在程序启动时从闪存、磁盘等复制到内存中。因此,触发器通常不会在电源循环期间保持状态;其他东西可以做到这一点。
'Flash' 技术基于浮动门并使用 'quantum tunnelling' 对浮动门进行编程。这个过程具有轻微的破坏性。它是由 Fowler and Nordheim 于 1967 年发明的,但广泛的电子行业直到 90 年代初才开始生产它们,先是 NOR 闪存,然后是 NAND 闪存和许多变体。但是基础物理是相同的;只是数字连接不同。所以除了你关心的这个缺陷外,闪存技术实际上遵循了许多硬件芯片,如 68k、i386 等。所以 'flip-flops' 已经很好地建立起来,通常逻辑的 'register' 部分不是一个典型的芯片和触发器使用与芯片逻辑的其余部分相同的逻辑(门)。这意味着使用 flash 会带来额外的开销,而且几乎没有好处。
一些额外的收获是芯片的启动和关闭通常是最具破坏性的时间。糟糕的硬件设计人员通常不会进行适当的电压监控,并且某些线路可能会浮动,并期望系统程序会立即设置它们。复位事件、ESD、过热等都比写入外设寄存器的行为更有害。
注 1:EEPROM 通常有 100,000+ 个周期。这些功能通常只在制造时使用一次,用于为系统设置芯片配置。这些实际上非常罕见,但有可能。
SSD 中的 MLC(多级)NAND 闪存在某些情况下具有可怜的低周期,如 8,000。 SLC(单级)old school flash 有10,000+ 周期,但是人们要求大数据格式。