CN111090539A - 一种基于cpld的双闪存自我修复方法和装置 - Google Patents
一种基于cpld的双闪存自我修复方法和装置 Download PDFInfo
- Publication number
- CN111090539A CN111090539A CN201911044685.9A CN201911044685A CN111090539A CN 111090539 A CN111090539 A CN 111090539A CN 201911044685 A CN201911044685 A CN 201911044685A CN 111090539 A CN111090539 A CN 111090539A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- cpld
- flash
- cpu
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000015654 memory Effects 0.000 claims abstract description 176
- 238000012795 verification Methods 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000009977 dual effect Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 abstract description 8
- 238000011084 recovery Methods 0.000 abstract description 6
- 230000002159 abnormal effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种基于CPLD的双闪存自我修复方法,包括响应于系统上电执行以下步骤:所述CPLD读取两个闪存中的数据以进行校验;响应于其中一个闪存校验失败,所述CPLD将所述校验成功的闪存中的数据写入到所述校验失败的闪存中;所述CPLD读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU。本发明可以同时对两个闪存进行读写动作,减少了不必要的闪存切换动作,提升了闪存的还原效率。
Description
技术领域
本发明涉及计算机领域,并且更具体地,涉及一种基于CPLD的双闪存自我修复方法和装置。
背景技术
云端运算,大数据是近年来热门的话题之一,其热门的原因主要归咎于网络的普及、发达,任何数据都可透过大量的分析来取得行为模型。对企业家而言,取得客户的行为模型能够有效的了解客户的需求、习惯。进而去创造出符合客户需求的商业模式。在这强大的数据数据分析中,服务器扮演一个重要的角色。而服务器大致上可分成三类;直立式服务器(Pedestal server)、机架服务器(Rack server)和刀锋服务器(Blade server)。其中刀锋服务器因可在基座上插入多张单板计算机,因状似刀片(Blade)而得名,由于使用相同的基座,故较省电与节省空间。不论是何种的服务器,都必须确保在升级过程中,避免遇到突发状况造成闪存(flash)的数据异常。如系统当机、电源供应不稳等造成更新失败。若是不幸遇到的话,也需要有一套完整的机制可以让其恢复运作。
现有的双闪存配置,大多数只是透过CPLD(Complex Programmable LogicDevice,复杂可编程逻辑器件)控制Switch IC(开关芯片)来切换CPU加载闪存的路径,如图1所示。系统开机加载时,CPLD默认将闪存路径切到主闪存。等到CPU加载完成后,再透过GPIO(General-purpose input/output,通用输入输出)通知CPLD系统已完成加载。若是超过一段时间GPIO都没有通知CPLD,此时CPLD会将闪存路径切换到备用闪存,并使用备用闪存开机。进入系统后,若是要更新的话,再透过BIOS或IE(Innovation Engine)接口去控制SPI(Serial Peripheral Interface,串行外围接口)接口来更新闪存。
如图1所示,若是主闪存异常开不了机之后,CPLD会切换到备用闪存开机。进入到系统后若是要对其主闪存进行复原,则需要透过I2C接口去通知CPLD切换闪存路径,即首先切换到备用闪存,CPU读取其数据到CPU缓存中,然后再切换到主闪存,CPU将缓存中的数据写入到主闪存中,如此重复多次。而在更新闪存时,系统必须关闭所有与闪存有关的任务,以免干扰到闪存的读写运作。又或者进入到boot-loader(引导装载程序)模式下进行还原的动作。但在此模式下,例如Intel C3000系列的程序空间只有64KB。若是要将备用闪存整个数据搬到主闪存上,则需要透过I2C接口通知CPLD进行无数次的切换。例如闪存空间为32MB,在boot-loader模式下搬运数据一次只可搬运4KB,那么光是透过I2C对CPLD下达切换闪存路径就高达8192次,如此便大大的增加更新之时间。
发明内容
鉴于此,本发明实施例的目的在于提出一种基于CPLD的双闪存自我修复方法和装置,减少不必要的闪存切换动作,提升闪存更新速度,且无须进入到系统,就可自我还原异常闪存。
基于上述目的,本发明实施例的一方面提供了一种基于CPLD的双闪存自我修复方法,包括响应于系统上电执行以下步骤:
所述CPLD读取两个闪存中的数据以进行校验;
响应于其中一个闪存校验失败,所述CPLD将所述校验成功的闪存中的数据写入到所述校验失败的闪存中;
所述CPLD读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU。
在一些实施方式中,所述方法还包括:
所述CPU读取所连通的闪存并进入上电进程,并且在上电完成后根据用户指令通过I2C接口进行所述闪存路径的切换。
在一些实施方式中,所述CPLD读取两个闪存中的数据以进行校验包括:
所述CPLD通过CRC32算法对所述两个闪存中的数据进行运算,并将运算结果与预先存储的验证码进行比较。
在一些实施方式中,所述验证码配置为预先存储在对应闪存的存储空间中。
在一些实施方式中,所述选择位为所述CPLD的一个管脚;所述CPLD读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU包括:
当所述管脚I/O为0时将第一个闪存连通到所述CPU,并且当所述管脚I/O为1时将第二个闪存连通到所述CPU。
在一些实施方式中,所述响应于其中一个闪存校验失败,所述CPLD将所述校验成功的闪存中的数据写入到所述校验失败的闪存中包括:
所述CPLD同步读取所述校验成功的闪存中的数据和写入所述校验失败的闪存。
本发明实施例的另一方面提供了一种基于CPLD的双闪存自我修复装置,包括:两个闪存、CPLD和CPU,其中所述两个闪存通过所述CPLD连接到所述CPU,所述CPLD配置为响应于系统上电对所述两个闪存中的数据进行校验,并响应于其中一个闪存校验失败,将所述校验成功的闪存中的数据写入到所述验证失败的闪存中。
在一些实施方式中,所述CPLD还配置为:在系统上电进程中,读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU。
在一些实施方式中,所述CPLD配置为通过CRC32算法对所述两个闪存中的数据进行运算,并将运算结果与预先存储的验证码进行比较。
在一些实施方式中,所述选择位为所述CPLD的一个管脚,并且所述CPLD配置为在系统上电进程中当所述管脚I/O为0时将第一个闪存连通到所述CPU,并且当所述管脚I/O为1时将第二个闪存连通到所述CPU。
本发明具有以下有益技术效果:本发明实施例提供的一种基于CPLD的双闪存自我修复方法和装置,可以同时对两个闪存进行读写动作,减少了不必要的闪存切换动作,提升了闪存的还原效率;系统一开机时,CPLD就会对闪存做验证动作,提升了系统的可靠度;无须进入到系统,就可自我还原异常闪存,减少了软件的复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1是现有技术中的双闪存配置示意图;
图2是根据本发明的一种基于CPLD的双闪存自我修复方法的流程图;
图3是根据本发明的双闪存配置示意图;
图4是根据本发明实施例的系统开机流程图;
图5是根据本发明实施例的CPLD的内部架构示意图;
图6是根据本发明实施例还原闪存的CPLD内部控制示意图。
具体实施方式
以下描述了本发明的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种替代形式。附图不一定按比例绘制;某些功能可能被夸大或最小化以显示特定部件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为用于教导本领域技术人员以各种方式使用本发明的代表性基础。如本领域普通技术人员将理解的,参考任何一个附图所示出和描述的各种特征可以与一个或多个其他附图中所示的特征组合以产生没有明确示出或描述的实施例。所示特征的组合为典型应用提供了代表性实施例。然而,与本发明的教导相一致的特征的各种组合和修改对于某些特定应用或实施方式可能是期望的。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例一方面提出了一种基于CPLD的双闪存自我修复方法,包括响应于系统上电执行以下步骤:
步骤S201:所述CPLD读取两个闪存中的数据以进行校验;
步骤S202:响应于其中一个闪存校验失败,所述CPLD将所述校验成功的闪存中的数据写入到所述校验失败的闪存中;
步骤S203:所述CPLD读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU。
在一些实施例中,所述方法还包括:所述CPU读取所连通的闪存并进入上电进程,并且在上电完成后根据用户指令通过I2C接口进行所述闪存路径的切换。
在一些实施例中,所述CPLD读取两个闪存中的数据以进行校验包括:所述CPLD通过CRC32算法对所述两个闪存中的数据进行运算,并将运算结果与预先存储的验证码进行比较。
在一些实施例中,所述验证码预先存储在对应闪存的最后一个存储空间中。
在一些实施例中,所述选择位为所述CPLD的一个管脚。所述CPLD读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU包括:当所述管脚I/O为0时将第一个闪存连通到所述CPU,并且当所述管脚I/O为1时将第二个闪存连通到所述CPU。
在一些实施例中,所述响应于其中一个闪存校验失败,所述CPLD将所述校验成功的闪存中的数据写入到所述校验失败的闪存中包括:所述CPLD实现同步读取所述校验成功的闪存中的数据和写入所述校验失败的闪存。
在根据本发明的一个实施例中,如图3所示,Switch IC的功能被CPLD取代,所以在电路的设计上大大简化并节省Switch IC的费用。由于两组闪存的SPI接口都有接到CPLD的I/O,故CPLD可同时对两个闪存做读写的动作,其中CPLD内部逻辑可如图4所示。在系统一开始的时候就可对两个闪存进行校验,确认闪存数据是否异常,若有异常发生,则CPLD则透过制定好的流程将闪存还原,等到确定闪存都确认无误后,CPLD会读取选择位I/O来决定闪存读取路径。
在一个实施例中,如图5所示,系统一开始,CPLD中的Flash Check模块会先读取闪存数据,进行验证码的确认;若是验证码其中一方有误,则会通知Flash Recovery模块,进行还原动作,此时会将正常的闪存数据出来,并写入到异常闪存中,如图6;若验证码正确,或是Flash Recovery完成还原异常闪存后,则将闪存路径切换给CPU;在第一次上电时,CPLD会读取选择位的I/O状态决定来决定闪存路径,其中,例如可以将的一个管脚定义为CPLD的选择位,将该管脚设定为输入并命名为Boot_Sel,该I/O为“0”的时候选择第一个闪存,“1”时候选择第二个闪存;CPU开始读取闪存,进入开机程序;进入系统后,若CPU想要切换闪存路径,则可透过I2C接口进行切换。两个闪存的版本、功能不一定都一样,所以在第一次上电时,由使用者决定要选哪一个闪存。进入系统后,CPU可以透过I2C的接口去控制闪存路径,此时无须理会Boot_Sel I/O。
在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,或者改变、添加以及省略等等,从而形成本发明范围内的另外实施例。
从上述实施例可以看出,本发明实施例提供的一种基于CPLD的双闪存自我修复方法,可以同时对两个闪存进行读写动作,减少了不必要的闪存切换动作,提升了闪存的还原效率;系统一开机时,CPLD就会对闪存做验证动作,提升了系统的可靠度;无须进入到系统,就可自我还原异常闪存,减少了软件的复杂度。
基于上述目的,本发明实施例的另一个方面,提出了一种基于CPLD的双闪存自我修复装置,包括:两个闪存、CPLD和CPU,其中所述两个闪存通过所述CPLD连接到所述CPU,所述CPLD配置为响应于系统上电对所述两个闪存中的数据进行校验,并响应于其中一个闪存校验失败,将所述校验成功的闪存中的数据写入到所述验证失败的闪存中。
在一些实施例中,所述CPLD还配置为:在系统上电进程中,读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU。
在一些实施例中,所述CPLD配置为通过CRC32算法对所述两个闪存中的数据进行运算,并将运算结果与预先存储的验证码进行比较。
在一些实施例中,所述选择位为CPLD的一个管脚,并且CPLD配置为在系统上电进程中当所述管脚I/O为0时将第一个闪存连通到所述CPU,并且当所述管脚I/O为1时将第二个闪存连通到所述CPU。
所述执行所述基于CPLD的双闪存自我修复方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
此外,典型地,本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
此外,应该明白的是,本文所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器、磁盘或光盘等。
上述实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种基于CPLD的双闪存自我修复方法,其特征在于,包括响应于系统上电执行以下步骤:
所述CPLD读取两个闪存中的数据以进行校验;
响应于其中一个闪存校验失败,所述CPLD将所述校验成功的闪存中的数据写入到所述校验失败的闪存中;
所述CPLD读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述CPU读取所连通的闪存并进入上电进程,并且在上电完成后根据用户指令通过I2C接口进行所述闪存路径的切换。
3.根据权利要求1所述的方法,其特征在于,所述CPLD读取两个闪存中的数据以进行校验包括:
所述CPLD通过CRC32算法对所述两个闪存中的数据进行运算,并将运算结果与预先存储的验证码进行比较。
4.根据权利要求3所述的方法,其特征在于,所述验证码配置为预先存储在对应闪存的存储空间中。
5.根据权利要求1所述的方法,其特征在于,所述选择位为所述CPLD的一个管脚;
所述CPLD读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU包括:
当所述管脚I/O为0时将第一个闪存连通到所述CPU,并且当所述管脚I/O为1时将第二个闪存连通到所述CPU。
6.根据权利要求1所述的方法,其特征在于,所述响应于其中一个闪存校验失败,所述CPLD将所述校验成功的闪存中的数据写入到所述校验失败的闪存中包括:
所述CPLD同步读取所述校验成功的闪存中的数据和写入所述校验失败的闪存。
7.一种基于CPLD的双闪存自我修复装置,其特征在于,包括:两个闪存、CPLD和CPU,其中所述两个闪存通过所述CPLD连接到所述CPU,所述CPLD配置为响应于系统上电对所述两个闪存中的数据进行校验,并响应于其中一个闪存校验失败,将所述校验成功的闪存中的数据写入到所述验证失败的闪存中。
8.根据权利要求7所述的装置,其特征在于,所述CPLD还配置为:在系统上电进程中,读取选择位的I/O状态并根据所述I/O状态信息将相应的闪存连通到CPU。
9.根据权利要求7所述的装置,其特征在于,所述CPLD配置为通过CRC32算法对所述两个闪存中的数据进行运算,并将运算结果与预先存储的验证码进行比较。
10.根据权利要求8所述的装置,其特征在于,所述选择位为所述CPLD的一个管脚,并且所述CPLD配置为在系统上电进程中当所述管脚I/O为0时将第一个闪存连通到所述CPU,并且当所述管脚I/O为1时将第二个闪存连通到所述CPU。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044685.9A CN111090539A (zh) | 2019-10-30 | 2019-10-30 | 一种基于cpld的双闪存自我修复方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044685.9A CN111090539A (zh) | 2019-10-30 | 2019-10-30 | 一种基于cpld的双闪存自我修复方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111090539A true CN111090539A (zh) | 2020-05-01 |
Family
ID=70393583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911044685.9A Withdrawn CN111090539A (zh) | 2019-10-30 | 2019-10-30 | 一种基于cpld的双闪存自我修复方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090539A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694782A (zh) * | 2020-05-23 | 2020-09-22 | 苏州浪潮智能科技有限公司 | 一种实现可信平台模组自动切换的架构和方法 |
CN114265799A (zh) * | 2021-12-28 | 2022-04-01 | 南昌勤胜电子科技有限公司 | 基于cpld的spi读写系统及服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843983A (zh) * | 2017-02-09 | 2017-06-13 | 深圳市风云实业有限公司 | 远程升级现场可编程门阵列的系统及方法 |
CN108038035A (zh) * | 2017-12-08 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种闪存读写状态的检测方法及相关装置 |
CN108304140A (zh) * | 2017-01-12 | 2018-07-20 | 中兴通讯股份有限公司 | 闪存数据管理方法、装置及微控制器 |
-
2019
- 2019-10-30 CN CN201911044685.9A patent/CN111090539A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304140A (zh) * | 2017-01-12 | 2018-07-20 | 中兴通讯股份有限公司 | 闪存数据管理方法、装置及微控制器 |
CN106843983A (zh) * | 2017-02-09 | 2017-06-13 | 深圳市风云实业有限公司 | 远程升级现场可编程门阵列的系统及方法 |
CN108038035A (zh) * | 2017-12-08 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种闪存读写状态的检测方法及相关装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694782A (zh) * | 2020-05-23 | 2020-09-22 | 苏州浪潮智能科技有限公司 | 一种实现可信平台模组自动切换的架构和方法 |
CN114265799A (zh) * | 2021-12-28 | 2022-04-01 | 南昌勤胜电子科技有限公司 | 基于cpld的spi读写系统及服务器 |
CN114265799B (zh) * | 2021-12-28 | 2024-03-26 | 南昌勤胜电子科技有限公司 | 基于cpld的spi读写系统及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9612824B2 (en) | Firmware variable update method | |
CN102385535B (zh) | 处理从非易失性存储器进行设备引导期间的错误 | |
US20150033065A1 (en) | Solid state drive emergency pre-boot application providing expanded data recovery function | |
CN102023908A (zh) | 一种引导程序备份方法及装置 | |
CN101699402B (zh) | 一种多模式启动的嵌入式系统 | |
CN111989656B (zh) | 可配置的恢复状态 | |
CN103930878A (zh) | 用于存储器验证的方法、装置及系统 | |
CN112667445B (zh) | 封装后的内存修复方法及装置、存储介质、电子设备 | |
KR20190117117A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN111142896A (zh) | 一种存储设备固件升级的方法、设备及可读介质 | |
CN111090539A (zh) | 一种基于cpld的双闪存自我修复方法和装置 | |
JP2010198252A (ja) | 不揮発メモリ装置、不揮発メモリの書込み方法、及び不揮発メモリ書込みプログラム | |
CN110764799A (zh) | 一种优化远程更新fpga加速卡的方法、设备及介质 | |
CN106843764B (zh) | 软独立冗余磁盘阵列创建方法及系统 | |
CN103150184A (zh) | 一种对闪存进行操作的方法和系统芯片 | |
CN113010215B (zh) | 一种操作系统快速重启的方法、装置、设备及可读介质 | |
CN107169053A (zh) | 日志信息导出方法及装置 | |
CN113590153A (zh) | 一种cpld的固件升级方法、系统、设备以及介质 | |
CN114579163A (zh) | 一种磁盘固件升级方法、计算装置及系统 | |
CN112612500A (zh) | 一种升级bmc的方法、装置、电子设备及存储介质 | |
CN111868698B (zh) | 空闲空间直通 | |
CN117687934A (zh) | 虚拟和物理扩展存储器阵列 | |
CN115374161A (zh) | 一种提高事务型数据库事务提交速度的方法和系统 | |
CN112947971B (zh) | 一种fpga远程更新装置及方法 | |
KR20160025377A (ko) | 반도체 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200501 |