CN101477480A - 内存控制方法、装置及内存读写系统 - Google Patents
内存控制方法、装置及内存读写系统 Download PDFInfo
- Publication number
- CN101477480A CN101477480A CNA2009100084966A CN200910008496A CN101477480A CN 101477480 A CN101477480 A CN 101477480A CN A2009100084966 A CNA2009100084966 A CN A2009100084966A CN 200910008496 A CN200910008496 A CN 200910008496A CN 101477480 A CN101477480 A CN 101477480A
- Authority
- CN
- China
- Prior art keywords
- memory
- subregion
- internal memory
- data
- partitioning
- 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.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种内存控制方法、装置及内存读写系统,属于通信技术领域。该方法包括:将需要写入内存的数据发送至内存的多个内存分区,其中每个内存分区具有内存分区校验功能;如果当前读取数据的内存分区需要纠错,则从多个内存分区中的其他内存分区中选择一个内存分区,以读取数据。该装置包括:第一模块,用于将要写入内存的数据发送至内存的多个内存分区;第二模块,用于如果当前读取数据的内存分区需要纠错,则从多个内存分区中的其他内存分区中选择一个内存分区,以读取数据。该系统包括内存控制装置,以及与内存控制装置通信的内存读写装置,内存读写装置通过内存控制装置对内存分区中的数据进行读写。本发明提高了内存访问速度和可靠性。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种内存控制方法、装置及内存读写系统。
背景技术
随着通信网络用户数量和业务种类的增加,网络规模不断扩大,通信设备也越来越复杂。为了处理各类用户业务,对通信设备单板处理性能的要求越来越高,内存用量也不断增大。例如,较早的通信处理板仅有8M(兆)bytes(字节)或16M bytes的内存,而最新型的处理板配置了8G(1024兆)bytes的内存,内存用量增加了约1000倍。在内存容量越来越大的同时,内存接口速率也显著增加,从而内存出现软失效和硬失效的概率越来越高,而这种故障定位非常困难。
ECC(Error Checking and Correcting,错误检查和纠正)技术是一种可应用于各种类型内存的内存校验技术,如以下内存:SDRAM(Synchronous DRAM,同步动态随机存储器)、DDR SDRAM(Double Data Rate SDRAM,双倍速率同步动态随机存储器)、QDRSDRAM(Quad Data Rate SDRAM,四倍速率同步动态随机存储器)等。ECC可以使内存从逻辑上分离错误并通知系统,当只出现单比特错误的时候,ECC可以把错误改正过来而不影响系统运行。ECC能纠正所有单bit(比特)错误,同时能发现2bit的错误,部分发现2bit以上错误。ECC使内存在读、写过程中恢复正确数据,不影响处理器的正常操作。
在对现有技术进行分析后,发明人发现仅采用ECC对内存进行错误检查和纠正,存在如下缺点:
1、在单比特故障出现时,内存的数据读出速度明显变慢,不满足特定的高实时性要求场合;
2、无法实现针对内存硬故障的主动检测和故障恢复,内存硬故障将导致整个软硬件系统崩溃。
发明内容
为了提高纠错时的内存访问速度和可靠性,本发明实施例提供了一种内存控制方法和装置及内存读写系统。所述技术方案如下:
一种内存控制方法,包括以下步骤:
将需要写入内存的数据发送至内存的多个内存分区,其中,所述多个内存分区中的每个内存分区具有内存分区校验功能;
如果当前读取数据的内存分区需要纠错,则从所述多个内存分区中的其他内存分区中选择一个内存分区,以读取数据。
一种内存控制装置,包括:
第一模块,用于将要写入内存的数据发送至内存的多个内存分区,其中,所述多个内存分区中的每个内存分区具有内存分区校验功能;
第二模块,用于如果当前读取数据的内存分区需要纠错,则从所述多个内存分区中的其他内存分区中选择一个内存分区,以读取数据。
一种内存读写系统,包括所述的内存控制装置,以及与所述内存控制装置通信的内存读写装置,所述内存读写装置,用于通过所述内存控制装置对内存分区中的数据进行读写。
本发明实施例使纠错时的内存访问速度得到改善,同时可以防范硬错误,提高内存访问可靠性。
附图说明
图1是本发明实施例一提供的内存控制方法流程图;
图2是本发明实施例二提供的内存控制方法流程图;
图3是本发明实施例二提供的使用扩展方式获取的一个内存分区示意图;
图4是本发明实施例二提供的内存读写装置通过仲裁逻辑读写多个内存分区的示意图;
图5是本发明实施例三提供的内存控制装置示意图;
图6是本发明实施例四提供的内存读写系统示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种内存控制方法,参见图1,包括以下步骤:
110:将需要写入内存的数据发送至内存的多个内存分区,其中,所述多个内存分区中的每个分区具有内存分区校验功能;
120:如果当前读取数据的内存分区需要纠错,则从所述多个内存分区中的其他内存分区中选择一个内存分区,以读取数据。
本发明实施例使纠错时的内存访问速度得到改善,同时可以防范硬错误,提高了内存访问可靠性。
实施例二
本发明实施例提供了一种内存控制方法,详细步骤如图2所示,包括以下步骤:
210:获取多个内存分区。其中,多个内存分区中的每个内存分区具有内存分区校验功能。
将已有内存在物理上或者逻辑上分成多个分区(两个分区及其以上),并为每个分区增加校验模块使之具有内存分区校验功能。本发明实施例中,校验模块是ECC模块。
本发明实施例也可以使用扩展方式来获取多个内存分区。现有的某些通信处理单板上大量使用了DDR2(Double Data Rate 2,第二代双倍速内存)内存颗粒,而内存颗粒本身失效率比较高,各种故障模式也比较难检测。因此,这些单板存在内存可靠性差和单板返还率高的缺陷。而现有的固态硬盘和内存式硬盘方案相比内存来说,访问速度慢,无法快速随机访问。为了解决大容量内存应用中出现的上述问题,本发明实施例也可以使用扩展方式来获取多个内存分区:采用高速并行总线方式或高速串行总线方式进行分区扩展,对扩展出的分区增加ECC模块,得到多个新的分区。如图3所示,虚线框内是增加了ECC模块后的一个分区。该分区包括主内存区、校验位内存区和ECC模块。将该分区通过数据线与外部内存扩展逻辑芯片相连,外部内存扩展逻辑芯片通过内存扩展总线(高速并行总线方式或高速串行总线)连接至内部内存扩展逻辑芯片,内部内存扩展逻辑芯片通过数据线与内存读写装置相连。通过扩展方式获取的分区能够支持在线更换(即更换上述通过扩展方式获取的分区不影响内存读写装置的读写操作,不会造成业务中断)。相比固态硬盘和内存式硬盘,通过扩展方式获取的分区不需要使用文件系统来访问,从而可以实现快速随机访问,减少了软件复杂性,提高了内存访问速度。本发明实施例中,外部内存扩展逻辑芯片可以是编程后的CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)芯片或FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片,或ASIC(Application SpecificIntegrated Circuit,专用集成电路)芯片。外部内存扩展逻辑芯片的功能是:负责并/串转换、串行电路的检错纠错、信号时序调整、信号电平转换等。内部内存扩展逻辑芯片可以是CPLD芯片、FPGA芯片或ASIC芯片。内部内存扩展逻辑芯片的功能是:负责串/并转换、串行电路的检错纠错、信号时序调整、信号电平转换等。
另外,也可以采取上述两种方式的混合来获取多个内存分区。即在将已有内存在物理上或者逻辑上分成多个分区的同时,还使用扩展方式来获取至少一个分区。
220:设置仲裁逻辑;仲裁逻辑将需要写入内存的数据分别发送至上述多个内存分区的每个内存分区。
在内存读写装置和步骤210中得到的多个分区之间设置仲裁逻辑。仲裁逻辑的物理实现可以采用可编程逻辑芯片FPGA,该FPGA与每个分区的ECC都相连接。参见图4,内存读写装置通过仲裁逻辑,重复性将数据同时写入每个分区的主内存区。在此过程中,校验模块,即ECC模块采用现有的算法计算出数据的校验值,将校验比特写入每个分区的校验位内存区的校验存储器。内存读写装置写操作完成之后,每个分区存储有同样的数据内容。
进一步地,在设置仲裁逻辑之后,还包括:仲裁逻辑初始化时从上述多个分区中选择一个作为主用分区,其它作为备用分区。本发明实施例仲裁逻辑将上述多个分区分为一个主用分区和至少一个备用分区。主用分区是当前用来读出数据的分区,而备用分区是当前读出数据时处于备用状态、暂未被用来读出数据的分区。一个分区是否主用分区或备用分区不是一成不变的,详见步骤250中所述。
230:仲裁逻辑从每个分区同时获取数据。
当内存读写装置需要从上述的多个分区读取数据时,通过仲裁逻辑同时向上述的多个分区发出读数据信号。从仲裁逻辑的角度而言,仲裁逻辑从每个内存分区获取数据,从内存分区的角度而言,每个分区接到该读数据信号后,向仲裁逻辑发送数据。
240:在获取数据的过程中,仲裁逻辑获取主用分区的内存分区校验功能检测得到的主用分区的内存校验状态。
具体实现时可以是:在仲裁逻辑获取数据的过程中,主用分区的校验模块将主用分区的内存校验状态发送给仲裁逻辑。
进一步地,在获取数据到仲裁逻辑的过程中,备用分区的校验模块将该备用分区的内存校验状态发送给仲裁逻辑。即,在仲裁逻辑获取数据的过程中,仲裁逻辑获取备用分区的内存分区校验功能检测得到的备用分区的内存校验状态。
内存读写装置读取数据时,每个分区的校验模块,即ECC模块同时工作,参见图4,内存读写装置从分区的主内存区读取上述数据,并从校验位内存区读取上述数据相应的校验字。如果ECC模块根据算法算出的上述数据的校验字与上述从校验位内存区读取的校验字相同,则该分区的内存校验状态为正常工作且不需要纠错;如果ECC模块根据算法算出的上述数据的校验字与上述从校验位内存区读取的校验字不相同,则启动纠错算法,该分区的内存校验状态为需要纠错;如果ECC模块检测出该分区物理上发生了损坏(硬故障)或者ECC模块发生了故障,该分区的内存校验状态为发生故障。
这里内存校验状态包括下述状态:发生故障、需要纠错和正常工作且不需要纠错。
250:仲裁逻辑根据主用分区的内存校验状态,将主用分区或者更换后的主用分区的数据发送给内存读写装置,具体包括:
如果主用分区的内存校验状态为发生故障,则仲裁逻辑禁用主用分区并选择一个备用分区作为主用分区,将新的主用分区的数据发送给内存读写装置;
如果主用分区的内存校验状态为需要纠错,则仲裁逻辑选择一个备用分区作为新的主用分区,将新的主用分区的数据发送给内存读写装置,并将主用分区作为一个新的备用分区;
如果主用分区的内存校验状态为正常工作且不需要纠错,则仲裁逻辑将主用分区的数据发送给内存读写装置。
进一步地,还可以通过以下的方式实现:
如果主用分区的内存校验状态为发生故障,则仲裁逻辑禁用主用分区并选择一个内存校验状态为正常工作且不需要纠错的备用分区作为新的主用分区,将新的主用分区的数据发送给内存读写装置;
如果主用分区的内存校验状态为纠错,则仲裁逻辑选择一个内存校验状态为正常工作且不需要纠错的备用分区作为新的主用分区,将新的主用分区的数据发送给内存读写装置,并将主用分区作为一个新的备用分区。
本实施例中如果内存校验状态为正常工作且不需要纠错的备用分区有多个,则仲裁逻辑随机选择一个内存校验状态为不需要纠错并且没有发生故障的备用分区作为新的主用分区。
这样可以解决内存在ECC模块纠错时,内存读写装置从中读取数据存在一定时延的问题,提高了内存读取的速度。
本发明实施例方法还可以包括下述步骤:
260:如果主用分区的内存校验状态为发生故障,则仲裁逻辑禁用主用分区并选择一个备用分区作为新的主用分区,将新的主用分区的数据发送给内存读写装置之后,上报系统告警信息。
进一步地,本发明实施例如果内存分区的数目为3个,仲裁逻辑的设计可以简化。因为按照概率,三个分区在绝大多数情况下只会有一个分区出错。内存读写装置同时从该三个分区中读取数据到仲裁逻辑,同时每个分区的校验模块将每个分区的内存校验状态发送给仲裁逻辑。如果该三个分区都没有发生故障,并且有当前主用分区读出内容与另两个备用分区不同时,仲裁逻辑就随机选择另两个分区的一个,将其内容发送给内存读写装置,而不必使用校验模块来检错和纠错。
本实施例的内存读写装置可以是CPU(处理器)。
本发明实施例的内存控制方法通过当当前读取数据的分区纠错时选用备用分区,使纠错时的内存访问速度得到提高,同时可以防止内存硬故障造成的内存无法访问现象,避免了ECC模块故障造成系统必须复位的问题,提高了内存访问的可靠性。
如果是采用扩展的方式获取的多个内存分区,在检测到某分区硬故障后,能够在不停机、不影响业务的情况下方便地更换该分区。
实施例三
本发明实施例提供了一种内存控制装置,参见图5,包括:
第一模块501,用于将要写入内存的数据发送至内存的多个内存分区,其中,多个内存分区中的每个内存分区具有内存分区校验功能;
第二模块502,用于如果当前读取数据的分区需要纠错,则从多个内存分区中的其他内存分区中选择一个内存分区,以读取数据。
其中,上述多个内存分区包括由已有内存划分出的多个内存分区或/和新扩展的内存分区。当上述多个内存分区包括新扩展的内存分区时,扩展分区的办法参见实施例二中相应的叙述。参见图4,每个内存分区包括主内存区、校验位内存区和校验模块(比如ECC模块)。
第一模块501将内存读写装置要写入内存的数据重复性发送至内存的多个内存分区中的每个分区。内存读写装置写操作完成之后,每个分区存储有同样的数据内容。多个内存分区中的每个内存分区都增加了校验模块,以具有内存分区校验功能。
进一步地,本实施例的内存控制装置还包括:
第三模块503,用于在内存控制装置初始化时从上述多个分区中选择一个内存分区作为主用分区,其它内存分区作为备用分区。其中,主用分区为当前读取数据的分区,而备用分区是当前读出数据时处于备用状态、暂未被用来读出数据的分区。
第四模块504,用于获取主用分区或备用分区的内存校验状态。
内存读写装置读取数据时,每个分区的校验模块,即ECC模块同时工作,从图4中所示的内存分区的主内存区读取上述数据,并从校验位内存区读取上述数据相应的校验字。如果ECC模块根据算法算出的上述数据的校验字与上述从校验位内存区读取的校验字相同,则该分区的内存校验状态为正常工作且不需要纠错;如果ECC模块根据算法算出的上述数据的校验字与上述从校验位内存区读取的校验字不相同,则启动纠错算法,该分区的内存校验状态为纠错;如果ECC模块检测出该分区物理上发生了损坏(硬故障)或者ECC模块发生了故障,该分区的内存校验状态为发生故障。
这里内存校验状态包括下述状态:发生故障、正常工作且不需要纠错和纠错。
第二模块还包括:
第一单元,用于如果主用分区的内存校验状态为需要纠错,则选择一个备用分区作为新的主用分区,将新的主用分区的数据发送给内存读写装置。
进一步地,第二模块还包括:
第二单元,用于如果主用分区的内存校验状态为发生故障,则禁用主用分区,并选择一个备用分区作为新的主用分区,将新的主用分区的数据发送给内存读写装置;
第三单元,用于如果主用分区的内存校验状态为正常工作且不需要纠错,则将主用分区的数据发送给内存读写装置。
进一步地,本发明实施例如果内存分区的数目为3个,本实施例的内存控制装置的实现可以简化。因为按照概率,三个分区在绝大多数情况下只会有一个分区出错。内存读写装置同时从该三个分区中读取数据到内存控制装置,同时每个分区的校验模块将每个分区的内存校验状态发送给第四模块。如果该三个分区都没有发生故障,并且有当前主用分区读出内容与另两个备用分区不同时,内存控制装置就随机选择另两个分区的一个,将其内容发送给内存读写装置,而不必使用校验模块来检错和纠错。
本实施例的内存读写装置可以是CPU。
本发明实施例的内存控制装置通过设置多个内存分区,当当前读取数据的分区纠错时,使用备用分区来读出数据,使纠错时的内存访问速度得到提高,同时在某一内存区硬故障时,内存读写装置仍然可以访问内存,提高了内存访问的可靠性。如果是采用扩展的方式获取的多个内存分区,在校验模块检测到某分区硬故障后,能够在不停机、不影响业务的情况下方便地更换该分区。
实施例四
本发明实施例提供了一种内存读写系统,如图6所示,包括上述的内存控制装置601,以及与上述内存控制装置通信的内存读写装置602。内存读写装置602,用于通过上述内存控制装置601对内存分区中的数据进行读写。
本实施例中的内存控制装置详见实施例三,此处不再赘述。
上述内存分区有多个,包括由已有内存划分出的多个内存分区或/和新扩展的内存分区。当多个内存分区包括新扩展的内存分区时,扩展分区的办法参见实施例二中相应的叙述。参见图4,每个内存分区包括主内存区、校验位内存区和校验模块,即ECC模块。
内存控制装置601的第一模块将内存读写装置602要写入内存的数据重复性发送至内存的多个内存分区中的每个分区。内存读写装置602写操作完成之后,每个分区存储有同样的数据内容。多个内存分区中的每个内存分区都增加了校验模块,以具有内存分区校验功能。
内存读写装置602通过内存控制装置601从多个内存分区中读取数据时,每个分区的校验模块,即ECC模块同时工作,从图4中所示的内存分区的主内存区读取上述数据,并从校验位内存区读取上述数据相应的校验字。如果ECC模块根据算法算出的上述数据的校验字与上述从校验位内存区读取的校验字相同,则该分区的内存校验状态为正常工作且不需要纠错;如果ECC模块根据算法算出的上述数据的校验字与上述从校验位内存区读取的校验字不相同,则启动纠错算法,该分区的内存校验状态为纠错;如果ECC模块检测出该分区物理上发生了损坏(硬故障)或者ECC模块发生了故障,该分区的内存校验状态为发生故障。
这里内存校验状态包括下述状态:发生故障、正常工作且不需要纠错和纠错。
内存控制装置601的第三模块在内存控制装置初始化时从上述多个分区中选择一个内存分区作为主用分区,其它内存分区作为备用分区。其中,主用分区为当前读取数据的分区,而备用分区是当前读出数据时处于备用状态、暂未被用来读出数据的分区。
内存控制装置601的第四模块获取主用分区或备用分区的内存校验状态。
内存控制装置601的第二模块用于如果主用分区的内存校验状态为需要纠错,则选择一个备用分区作为新的主用分区,将新的主用分区的数据发送给内存读写装置602;如果主用分区的内存校验状态为发生故障,则禁用主用分区,并选择一个备用分区作为新的主用分区,将新的主用分区的数据发送给内存读写装置602;如果主用分区的内存校验状态为正常工作且不需要纠错,则将主用分区的数据发送给内存读写装置602。
本实施例的内存读写装置602可以是CPU。
本发明实施例的内存读写系统通过设置多个内存分区,当当前读取数据的分区纠错时,通过内存控制装置使用备用分区来读出数据,使纠错时的内存访问速度得到提高,同时在某一内存区硬故障时,内存读写装置仍然可以访问内存,提高了内存访问的可靠性。如果是采用扩展的方式获取的多个内存分区,在校验模块检测到某分区硬故障后,能够在不停机、不影响业务的情况下方便地更换该分区。
本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,例如,CPLD芯片、FPGA芯片、ASIC芯片、缓存或光盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种内存控制方法,其特征在于,包括以下步骤:
将需要写入内存的数据发送至内存的多个内存分区,其中,所述多个内存分区中的每个内存分区具有内存分区校验功能;
如果当前读取数据的内存分区需要纠错,则从所述多个内存分区中的其他内存分区中选择一个内存分区,以读取数据。
2.根据权利要求1所述的内存控制方法,其特征在于:
所述将需要写入内存的数据发送至内存的多个内存分区之前还包括:
设置仲裁逻辑;
所述将需要写入内存的数据发送至内存的多个内存分区具体包括:
所述仲裁逻辑将需要写入内存的数据分别发送至所述多个内存分区的每个内存分区。
3.根据权利要求2所述的内存控制方法,其特征在于,还包括:
所述仲裁逻辑初始化时从所述多个内存分区中选择一个内存分区作为主用分区,其它内存分区作为备用分区,所述主用分区为当前读取数据的分区。
4.根据权利要求3所述的内存控制方法,其特征在于,所述将需要写入内存的数据发送至内存的多个内存分区之后,还包括:
所述仲裁逻辑从所述每个内存分区获取所述数据;
在所述仲裁逻辑获取所述数据的过程中,所述仲裁逻辑获取所述主用分区的内存分区校验功能检测得到的主用分区的内存校验状态。
5.根据权利要求4所述的内存控制方法,其特征在于,所述如果当前读取数据的内存分区需要纠错,则从所述多个内存分区中的其他内存分区中选择一个分区,以读取数据具体包括:
如果所述主用分区的内存校验状态为需要纠错,则所述仲裁逻辑选择一个备用分区作为新的主用分区,将所述新的主用分区的数据发送给内存读写装置。
6.根据权利要求5所述的内存控制方法,其特征在于,所述方法还包括:
如果所述主用分区的内存校验状态为发生故障,则所述仲裁逻辑禁用所述主用分区,并选择一个备用分区作为新的主用分区,将所述新的主用分区的数据发送给内存读写装置;
如果所述主用分区的内存校验状态为正常工作且不需要纠错,则所述仲裁逻辑将所述主用分区的数据发送给内存读写装置。
7.根据权利要求6所述的内存控制方法,其特征在于,
在所述仲裁逻辑获取所述数据的过程中还包括:所述仲裁逻辑获取所述备用分区的内存分区校验功能检测得到的备用分区的内存校验状态;
所述如果所述主用分区的内存校验状态为需要纠错,则所述仲裁逻辑选择一个备用分区作为新的主用分区,将所述新的主用分区的数据发送给内存读写装置,具体包括:
如果所述主用分区的内存校验状态为需要纠错,则所述仲裁逻辑选择一个内存校验状态为正常工作且不需要纠错的备用分区作为新的主用分区;
所述如果所述主用分区的内存校验状态为发生故障,则所述仲裁逻辑禁用所述主用分区并选择一个备用分区作为新的主用分区,具体包括:
如果所述主用分区的内存校验状态为发生故障,则所述仲裁逻辑禁用所述主用分区并选择一个内存校验状态为正常工作且不需要纠错的备用分区作为新的主用分区。
8.根据权利要求1至7任一项所述的内存控制方法,其特征在于,所述多个内存分区包括已有内存在物理上或者逻辑上分成的多个内存分区,或/和,采用高速并行总线方式或高速串行总线方式进行内存分区扩展新扩展的内存分区。
9.一种内存控制装置,其特征在于,包括:
第一模块,用于将要写入内存的数据发送至内存的多个内存分区,其中,所述多个内存分区中的每个内存分区具有内存分区校验功能;
第二模块,用于如果当前读取数据的内存分区需要纠错,则从所述多个内存分区中的其他内存分区中选择一个内存分区,以读取数据。
10.根据权利要求9所述的内存控制装置,其特征在于,所述装置还包括:
第三模块,用于在所述内存控制装置初始化时从所述多个分区中选择一个内存分区作为主用分区,其它内存分区作为备用分区,所述主用分区为当前读取数据的分区。
11.根据权利要求10所述的内存控制装置,其特征在于,所述装置还包括:第四模块,用于获取主用分区或备用分区的内存校验状态;
第二模块还包括:
第一单元,用于如果所述主用分区的内存校验状态为需要纠错,则选择一个备用分区作为新的主用分区,将所述新的主用分区的数据发送给内存读写装置。
12..根据权利要求11所述的内存控制装置,其特征在于,所述第二模块还包括:
第二单元,用于如果所述主用分区的内存校验状态为发生故障,则禁用所述主用分区,并选择一个备用分区作为新的主用分区,将所述新的主用分区的数据发送给内存读写装置;
第三单元,用于如果所述主用分区的内存校验状态为正常工作且不需要纠错,则将所述主用分区的数据发送给内存读写装置。
13.一种内存读写系统,其特征在于,包括如权利要求9至12任一项所述的内存控制装置,以及与所述内存控制装置通信的内存读写装置,所述内存读写装置,用于通过所述内存控制装置对内存分区中的数据进行读写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100084966A CN101477480B (zh) | 2009-02-05 | 2009-02-05 | 内存控制方法、装置及内存读写系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100084966A CN101477480B (zh) | 2009-02-05 | 2009-02-05 | 内存控制方法、装置及内存读写系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101477480A true CN101477480A (zh) | 2009-07-08 |
CN101477480B CN101477480B (zh) | 2011-07-20 |
Family
ID=40838201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100084966A Active CN101477480B (zh) | 2009-02-05 | 2009-02-05 | 内存控制方法、装置及内存读写系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477480B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354294A (zh) * | 2011-08-23 | 2012-02-15 | 西安空间无线电技术研究所 | 一种星载dsp芯片的空间单粒子翻转检测方法 |
CN103577275A (zh) * | 2013-10-24 | 2014-02-12 | 华为技术有限公司 | 一种数据校验的方法、设备和系统 |
CN103888510A (zh) * | 2014-01-14 | 2014-06-25 | 无锡城市云计算中心有限公司 | 一种云计算数据中心的业务高可用方法 |
CN105206307A (zh) * | 2014-06-12 | 2015-12-30 | 北京兆易创新科技股份有限公司 | 一种芯片修复方法和装置 |
CN106407130A (zh) * | 2016-09-12 | 2017-02-15 | 深圳易充新能源(深圳)有限公司 | 一种Nandflash内存数据管理的方法 |
WO2017166845A1 (zh) * | 2016-03-29 | 2017-10-05 | 华为技术有限公司 | 数据处理装置及数据处理方法 |
CN109086161A (zh) * | 2018-07-20 | 2018-12-25 | 江苏华存电子科技有限公司 | 一种随机内存使用ecc运算达成块资料纠错校验的方法 |
CN109492263A (zh) * | 2018-10-17 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种高速线缆选型方法及系统 |
CN112612425A (zh) * | 2020-12-30 | 2021-04-06 | 北京北方华创微电子装备有限公司 | 数据读写方法及半导体加工设备的控制装置 |
CN113655745A (zh) * | 2021-08-19 | 2021-11-16 | 无锡中微亿芯有限公司 | 一种实现配置码流自动检纠错的fpga |
CN117472291A (zh) * | 2023-12-27 | 2024-01-30 | 苏州元脑智能科技有限公司 | 数据块的校验方法和装置、存储介质及电子设备 |
-
2009
- 2009-02-05 CN CN2009100084966A patent/CN101477480B/zh active Active
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354294B (zh) * | 2011-08-23 | 2015-04-22 | 西安空间无线电技术研究所 | 一种星载dsp芯片的空间单粒子翻转检测方法 |
CN102354294A (zh) * | 2011-08-23 | 2012-02-15 | 西安空间无线电技术研究所 | 一种星载dsp芯片的空间单粒子翻转检测方法 |
CN103577275A (zh) * | 2013-10-24 | 2014-02-12 | 华为技术有限公司 | 一种数据校验的方法、设备和系统 |
CN103888510B (zh) * | 2014-01-14 | 2017-07-14 | 无锡城市云计算中心有限公司 | 一种云计算数据中心的业务高可用方法 |
CN103888510A (zh) * | 2014-01-14 | 2014-06-25 | 无锡城市云计算中心有限公司 | 一种云计算数据中心的业务高可用方法 |
CN105206307B (zh) * | 2014-06-12 | 2018-08-21 | 北京兆易创新科技股份有限公司 | 一种芯片修复方法和装置 |
CN105206307A (zh) * | 2014-06-12 | 2015-12-30 | 北京兆易创新科技股份有限公司 | 一种芯片修复方法和装置 |
WO2017166845A1 (zh) * | 2016-03-29 | 2017-10-05 | 华为技术有限公司 | 数据处理装置及数据处理方法 |
CN106407130A (zh) * | 2016-09-12 | 2017-02-15 | 深圳易充新能源(深圳)有限公司 | 一种Nandflash内存数据管理的方法 |
CN109086161A (zh) * | 2018-07-20 | 2018-12-25 | 江苏华存电子科技有限公司 | 一种随机内存使用ecc运算达成块资料纠错校验的方法 |
WO2020015122A1 (zh) * | 2018-07-20 | 2020-01-23 | 江苏华存电子科技有限公司 | 一种随机内存使用ecc运算达成块资料纠错校验的方法 |
CN109492263A (zh) * | 2018-10-17 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种高速线缆选型方法及系统 |
CN109492263B (zh) * | 2018-10-17 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种高速线缆选型方法及系统 |
CN112612425A (zh) * | 2020-12-30 | 2021-04-06 | 北京北方华创微电子装备有限公司 | 数据读写方法及半导体加工设备的控制装置 |
CN112612425B (zh) * | 2020-12-30 | 2021-08-13 | 北京北方华创微电子装备有限公司 | 数据读写方法及半导体加工设备的控制装置 |
CN113655745A (zh) * | 2021-08-19 | 2021-11-16 | 无锡中微亿芯有限公司 | 一种实现配置码流自动检纠错的fpga |
CN117472291A (zh) * | 2023-12-27 | 2024-01-30 | 苏州元脑智能科技有限公司 | 数据块的校验方法和装置、存储介质及电子设备 |
CN117472291B (zh) * | 2023-12-27 | 2024-03-22 | 苏州元脑智能科技有限公司 | 数据块的校验方法和装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101477480B (zh) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101477480B (zh) | 内存控制方法、装置及内存读写系统 | |
US8732532B2 (en) | Memory controller and information processing system for failure inspection | |
CN105589762B (zh) | 存储器装置、存储器模块和用于纠错的方法 | |
US7386765B2 (en) | Memory device having error checking and correction | |
US7984329B2 (en) | System and method for providing DRAM device-level repair via address remappings external to the device | |
US7747933B2 (en) | Method and apparatus for detecting communication errors on a bus | |
US7900084B2 (en) | Reliable memory for memory controller with multiple channels | |
JP2017201519A5 (zh) | ||
WO2016160275A1 (en) | Dynamic application of ecc based on error type | |
KR20180065423A (ko) | 리페어 가능한 휘발성 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 | |
KR102378466B1 (ko) | 메모리 장치 및 모듈 | |
US8806285B2 (en) | Dynamically allocatable memory error mitigation | |
US9262284B2 (en) | Single channel memory mirror | |
US8176388B1 (en) | System and method for soft error scrubbing | |
CN105824719A (zh) | 一种随机存储器的检测方法及系统 | |
JP2011238217A (ja) | メモリ中のプログラム・フェイルを示すための信号線 | |
CN110299181B (zh) | 非易失性存储器装置、其操作方法及数据存储装置 | |
CN111221681A (zh) | 一种存储器的修复方法及装置 | |
JP5908106B2 (ja) | 妥当性マスクを記憶する装置および方法ならびに操作装置 | |
KR102427323B1 (ko) | 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법 | |
CN116783654A (zh) | 自适应错误校正以提高系统存储器可靠性、可用性和可服务性(ras) | |
CN115312111A (zh) | 一种动态随机存储器测试方法及装置 | |
US20240086090A1 (en) | Memory channel disablement | |
US20230386598A1 (en) | Methods for real-time repairing of memory failures caused during operations, memory systems performing repairing methods, and data processing systems including repairing memory systems | |
CN117992273A (zh) | 数据处理方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |