买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】具有错误纠正功能的内存和相关内存系统_钰创科技股份有限公司_201811550056.9 

申请/专利权人:钰创科技股份有限公司

申请日:2018-12-18

公开(公告)日:2024-04-09

公开(公告)号:CN110058955B

主分类号:G06F11/10

分类号:G06F11/10;G06F12/02

优先权:["20171218 US 62/607,291"]

专利状态码:有效-授权

法律状态:2024.04.09#授权;2019.08.20#实质审查的生效;2019.07.26#公开

摘要:本发明公开了一种具有错误纠正功能的内存和相关内存系统。所述内存包括一控制器和一储存单元阵列。所述控制器选择性地写入一写入数据至所述储存单元阵列中的一一般储存区和一备份区,以及当所述控制器从所述一般储存区读出所述一般储存区对应所述写入数据的一第一数据时,如果所述第一数据出现至少二个错误,则所述控制器读取所述备份区以输出所述备份区中对应所述写入数据的一第二数据。因此,相较于现有技术,本发明可对所述一般储存区所储存的数据上的多个错误进行纠正。

主权项:1.一种具有错误纠正功能的内存,其特征在于,包括:一控制器;及一储存单元阵列;所述控制器写入一写入数据至所述储存单元阵列中的一一般储存区和一备份区,所述写入数据包含一个或多个错误,其中在所述控制器在写入所述写入数据至所述储存单元阵列中的所述一般储存区和所述备份区后以及当所述控制器同时从所述一般储存区读出对应所述写入数据的一第一数据和从所述备份区读出对应所述写入数据的一第二数据时,所述控制器同时利用一错误纠正码功能侦测所述第一数据和所述第二数据是否出现错误,以及如果所述第一数据出现至少二个错误,则所述控制器从所述备份区读出对应所述写入数据的所述第二数据并输出所述第二数据;其中所述内存是一动态随机存取存储器,所述控制器读出所述第一数据和输出所述第二数据之间的时间符合所述动态随机存取存储器的读写时序,以及来自所述备份区的所述第二数据没有包含错误。

全文数据:具有错误纠正功能的内存和相关内存系统技术领域本发明是涉及一种内存和相关内存系统,尤其涉及一种具有错误纠正功能的内存和相关内存系统背景技术当一数据储存在内存时,如果所述数据是重要的数据时,则所述数据储存于所述内存时必须不能存在错误。因此,具有错误纠正errorcorrecting功能的内存是内存设计者的一设计方向。现有技术在所述内存所储存的数据出现一个错误时,可利用一纠错码Error-CorrectingCode,ECC功能纠正所述错误。在所述内存所储存的所述数据出现错误的机率增加的状况下,例如随着内存的制程技术愈来愈先进,所述内存所储存的所述数据出现软错误softerror的发生机率也愈来愈高,针对所述内存所储存的所述数据上的多个错误进行纠正的需求就愈来愈大。然而,具有多错误纠正multi-errorcorrecting功能的内存在设计上过于复杂且有过高成本,因此,如何针对所述内存所储存的所述数据上的多个错误进行纠正,是所述内存设计者的一项重要课题。本发明相较于现有技术,可以以较低成本实现针对内存上的多个错误进行纠正的功能。发明内容本发明的一实施例公开一种具有错误纠正errorcorrecting功能的内存。所述内存包括一控制器和一储存单元阵列。所述控制器选择性地写入一写入数据至所述储存单元阵列中的一一般储存区和一备份区,以及当所述控制器从所述一般储存区读出所述一般储存区对应所述写入数据的一第一数据时,如果所述第一数据出现至少二个错误,则所述控制器读取所述备份区以输出所述备份区中对应所述写入数据的一第二数据。本发明的另一实施例公开一种具有错误纠正功能的内存系统。所述内存系统包括一控制器、一一般储存内存和一备份内存。所述控制器选择性地写入一写入数据至所述正常储存内存一般储存内存和所述备份内存,以及当所述控制器从所述正常内存读出所述正常内存所储存的数据时对应该写入数据的一第一数据时,如果所述正常内存所储存的数据第一数据出现至少二个错误,则所述控制器从所述备份内存输出所述备份内存所储存的数据,其中所述正常内存所储存的数据和所述备份内存所储存的数据对应所述写入数据读取该备份内存以输出储存于该备份内存中对应该写入数据的一第二数据。本发明的另一实施例公开一种一种具有错误纠正功能的内存,所述内存包括一储存单元阵列,包括一一般储存区和一备份区;及一控制器,连接所述储存单元阵列,选择性地写入一写入数据至所述一般储存区和所述备份区,其中当所述控制器从所述一般储存区读出对应所述写入数据的一第一数据出现至少一错误时,所述控制器选择性地利用一错误纠正功能纠正所述第一数据,或是读取所述备份区以输出储存于所述备份区中对应所述写入数据的一第二数据。本发明公开一种具有错误纠正功能的内存和相关的内存系统。因为所述内存是利用所述内存的一控制器选择性地写入一写入数据至所述内存的一储存单元阵列中的一一般储存区和一备份区,所以当所述一般储存区中对应该所述写入数据的一第一数据出现至少二个错误时,所述控制器可读取所述备份区所储存的数据。另外,因为所述内存系统是利用所述内存系统的一控制器选择性地写入所述写入数据至所述内存系统的一般储存内存和备份内存,所以当所述一般储存内存中對應所述写入数据的一第一数据出现至少二个错误时,所述控制器可读取所述备份内存中对应该写入数据的一第二数据所储存的数据。因此,相较于现有技术,本发明可对所述一般储存区所储存的数据和所述一般储存内存所储存的数据上的多个错误进行纠正。附图说明图1是本发明的第一实施例所公开的一种具有错误纠正功能的内存的示意图。图2是本发明的另一实施例所公开的一种具有错误纠正功能的内存的示意图。图3是本发明的第二实施例所公开的一种具有错误纠正功能的内存系统的示意图。图4是本发明的第三实施例所公开的一种具有错误纠正功能的内存的写入数据的方法的流程图。图5是本发明的第四实施例所公开的一种具有错误纠正功能的内存的读出数据的方法的流程图。图6是本发明的第五实施例所公开的一种具有错误纠正功能的内存的写入数据的方法的流程图图7是本发明的第六实施例所公开的一种具有错误纠正功能的内存的读出数据的方法的流程图。其中,附图标记说明如下:100内存102控制器104储存单元阵列B1-B5内存区块S1-S16内存区段300内存系统304一般储存内存306备份内存400-410、500-520、600-612、700-724步骤具体实施方式请参照图1,图1是本发明的第一实施例所公开的一种具有错误纠正errorcorrecting功能的内存100的示意图。如图1所示,内存100包括一控制器102和一储存单元阵列104,其中储存单元阵列104包括多个内存区块bank,所述多个内存区块中的每一内存区块包括多个内存区段section,所述多个内存区段中的每一内存区段包括多个内存单元cell,以及内存100是一动态随机存取存储器DynamicRandomAccessMemory,DRAM。例如,如图1所示,储存单元阵列104包括4个内存区块B1-B4,以及内存区块B1包括16内存区段S1-S16。但本发明并不受限于储存单元阵列104只包括4个内存区块B1-B4,也就是说储存单元阵列104可包括多个内存区块。另外,本发明也不受限于内存区块B1包括16内存区段S1-S16,也就是说内存区块B1可包括多个内存区段。如图1所示,在控制器102将一写入数据写入所述储存单元阵列104前,控制器102会先产生对应所述写入数据的错误纠正码的奇偶校验位paritybit,其中所述错误纠正码利用所述奇偶校验位所述寫入数据進行纠正的方法是本領域的技术人员所公知的現有技術,在此不再贅述。如果所述写入数据不是重要的数据时,控制器102将所述写入数据和所述奇偶校验位写入所述储存单元阵列104中的一一般储存区normalstoragearea。而如果所述写入数据是重要的数据时,例如所述写入数据为自动驾驶汽车的行车数据,或者是航空飞行的飞行数据时,控制器102将所述写入数据和所述奇偶校验位同时写入所述一般储存区与所述储存单元阵列104中的一备份区backuparea。例如,如果所述写入数据是重要的数据时,控制器102将所述写入数据同时写入内存区块B1和内存区块B4,其中内存区块B1-B3是所述一般储存区以及内存区块B4是所述备份区。但本发明并不受限于内存区块B1-B3是所述一般储存区以及内存区块B4是所述备份区。另外,在本发明的另一实施例中,内存区块B1-B4的每一内存区块中的内存区段S2-S15是所述一般储存区以及所述每一内存区块中的内存区段S1是所述备份区。但本发明并不受限于所述每一内存区块中的内存区段S2-S15是所述一般储存区以及所述每一内存区块中的内存区段S1是所述备份区。另外,如果内存区块B1-B3是所述一般储存区以及内存区块B4是所述备份区,且内存100的内存容量为1G,则所述一般储存区的内存容量为750M以及所述备份区的内存容量为250M,也就是说所述一般储存区的内存容量750M和所述备份区的内存容量250M等于所述内存100的内存容量1G。但本发明并不受限于内存100的内存容量为1G,所述一般储存区的内存容量为750M,以及所述备份区的内存容量为250M。在本发明的另一实施例中,如图2所示,储存单元阵列104包括5个内存区块B1-B5,其中如果内存区块B1-B4是所述一般储存区以及内存区块B5是所述备份区,且内存100的内存容量为1G,则所述一般储存区的内存容量为1G以及所述备份区的内存容量为250M,也就是说所述一般储存区的内存容量1G等于内存100的内存容量1G,且所述备份区的内存容量250M是内存100的内存容量1G外的内存容量。如果所述写入数据不是重要的数据时,控制器102将从所述一般储存区读出所述一般储存区所储存的数据即一第一数据,其中所述第一数据对应所述写入数据,利用一错误纠正码功能侦测所述一般储存区所储存的所述数据是否出现错误,以及输出所述一般储存区所储存的数据。而如果所述写入数据是重要的数据时,控制器102同时从所述一般储存区读出所述一般储存区所储存的数据和从所述备份区读出所述备份区所储存的数据即一第二数据,其中所述第二数据对应所述写入数据,并同时利用所述错误纠正码功能侦测所述一般储存区所储存的数据和所述备份区所储存的数据是否出现错误,其中所述一般储存区所储存的数据和所述备份区所储存的数据对应所述写入数据。如果所述一般储存区所储存的数据没有任何错误,控制器102直接输出所述一般储存区所储存的数据;如果所述一般储存区所储存的数据出现一个错误,控制器102直接利用所述错误纠正码功能纠正所述错误并输出一纠正后的数据;如果所述一般储存区所储存的数据出现至少二个错误,则控制器102从所述备份区输出所述备份区所储存的数据。但在本发明的另一实施例中,如果所述写入数据是重要的数据时,控制器102依序写入所述写入数据和所述奇偶校验位至所述一般储存区和所述备份区。在控制器102依序写入所述写入数据至所述一般储存区和所述备份区后,当控制器102需要读出所述一般储存区所储存的数据时,控制器102从所述一般储存区读出所述一般储存区所储存的数据,并利用所述错误纠正码功能侦测所述一般储存区所储存的数据是否出现错误。如果所述一般储存区所储存的数据没有任何错误,控制器102直接输出所述一般储存区所储存的数据;如果所述一般储存区所储存的数据出现一个错误,控制器102直接利用所述错误纠正码功能纠正所述错误并输出一纠正后的数据;如果所述一般储存区所储存的数据出现至少二个错误,则控制器102不纠正所述至少二个错误,从所述备份区读出所述备份区所储存的数据,利用所述错误纠正码功能侦测所述备份区所储存的数据是否出现错误,以及控制器102从所述备份区输出所述备份区所储存的数据。请参照图3,图3是本发明的第二实施例所公开的一种具有错误纠正功能的内存系统300的示意图。如图3所示,内存系统300包括一控制器102、一一般储存内存304和一备份内存306,其中内存系统300和内存100的差别在于内存系统300利用一般储存内存304取代内存100的所述一般储存区以及利用备份内存306取代内存100的所述备份区。另外,一般储存内存304和备份内存306的操作原理可分别参照内存100的所述一般储存区以及内存100的所述备份区的操作原理,在此不再赘述。请参照图4,图4是本发明的第三实施例所公开的一种具有错误纠正功能的内存100的写入数据的操作方法的流程图。图4的操作方法是利用图1的内存100说明,详细步骤如下:步骤400:开始;步骤402:控制器102产生对应所述写入数据的错误纠正码的奇偶校验位;步骤404:所述写入数据是否是重要的数据;如果否,进行步骤406;如果是,进行步骤408;步骤406:控制器102将所述写入数据和所述奇偶校验位写入所述一般储存区;步骤408:控制器102将所述写入数据和所述奇偶校验位同时写入所述一般储存区与所述备份区;步骤410:结束。在步骤402中,在控制器102将所述写入数据写入所述储存单元阵列104前,控制器102会先产生对应所述写入数据的错误纠正码的奇偶校验位。在步骤408中,如果所述写入数据是重要的数据时,例如所述写入数据为自动驾驶的行车数据,或者是航空飞行的飞行数据时,控制器102将所述写入数据和所述奇偶校验位同时写入所述一般储存区与所述备份区。例如,如果所述写入数据是重要的数据时,控制器102将所述写入数据同时写入内存区块B1和内存区块B4,其中内存区块B1-B3是所述一般储存区以及内存区块B4是所述备份区。请参照图5,图5是本发明的第四实施例所公开的一种具有错误纠正功能的内存100的读出数据的操作方法的流程图。图5的操作方法是利用图1的内存100说明,详细步骤如下:步骤500:开始;步骤502:所述写入数据是否是重要的数据;如果否,进行步骤504;如果是,进行步骤510;步骤504:控制器102从所述一般储存区读出所述一般储存区所储存的数据;步骤506:控制器102利用所述错误纠正码功能侦测所述一般储存区所储存的数据是否出现错误;步骤508:控制器102输出所述一般储存区所储存的数据;步骤510:控制器102同时从所述一般储存区读出所述一般储存区所储存的数据和从所述备份区读出所述备份区所储存的数据;步骤512:控制器102同时利用所述错误纠正码功能侦测所述一般储存区所储存的数据和所述备份区所储存的数据是否出现错误;步骤514:如果所述一般储存区所储存的数据没有任何错误时,进行步骤515;如果所述一般储存区所储存的数据出现一个错误时,进行步骤516;如果所述一般储存区所储存的数据出现至少二个错误时,进行步骤518;步骤515:控制器102直接输出所述一般储存区所储存的数据;步骤516:控制器102利用所述错误纠正码功能纠正所述错误并输出一纠正后的数据;步骤518:控制器102从所述备份区输出所述备份区所储存的数据;步骤520:结束。在步骤510中,如果所述写入数据是重要的数据时,控制器102同时从所述一般储存区读出所述一般储存区所储存的数据和从所述备份区读出所述备份区所储存的数据。在步骤512中,控制器102同时利用所述错误纠正码功能侦测所述一般储存区所储存的数据和所述备份区所储存的数据是否出现错误。在步骤515中,因为所述一般储存区所储存的数据没有任何错误,所以控制器102可直接输出所述一般储存区所储存的数据。在步骤516中,如果所述一般储存区所储存的数据出现一个错误,控制器102利用所述错误纠正码功能纠正所述错误并输出所述纠正后的数据。在步骤518中,如果所述一般储存区所储存的数据出现至少二个错误,控制器102不纠正所述至少二个错误,且从所述备份区输出所述备份区所储存的数据。请参照图6,图6是本发明的第五实施例所公开的一种具有错误纠正功能的内存100的写入数据的操作方法的流程图。图6的操作方法是利用图1的内存100说明,详细步骤如下:步骤600:开始;步骤602:控制器102产生对应所述写入数据的错误纠正码的奇偶校验位;步骤604:所述写入数据是否是重要的数据;如果否,进行步骤606;如果是,进行步骤608;步骤606:控制器102将所述写入数据和所述奇偶校验位写入所述一般储存区;步骤608:控制器102将所述写入数据和所述奇偶校验位写入所述一般储存区;步骤610:控制器102将所述写入数据和所述奇偶校验位写入所述备份区;步骤612:结束。图6的第五实施例和图4的第三实施例的差别在于如果所述写入数据是重要的数据时,控制器102会依序在步骤108将所述写入数据和所述奇偶校验位写入所述一般储存区以及在步骤610将所述写入数据和所述奇偶校验位写入所述备份区。请参照图7,图7是本发明的第六实施例所公开的一种具有错误纠正功能的内存100的读出数据的操作方法的流程图。图7的操作方法是利用图1的内存100说明,详细步骤如下:步骤700:开始;步骤702:所述写入数据是否是重要的数据;如果否,进行步骤704;如果是,进行步骤710;步骤704:控制器102从所述一般储存区读出所述一般储存区所储存的数据;步骤706:控制器102利用所述错误纠正码功能侦测所述一般储存区所储存的数据是否出现错误;步骤708:控制器102输出所述一般储存区所储存的数据;步骤710:控制器102从所述一般储存区读出所述一般储存区所储存的数据;步骤712:控制器102利用所述错误纠正码功能侦测所述一般储存区所储存的数据是否出现错误;步骤714:如果所述一般储存区所储存的数据没有任何错误时,进行步骤715;如果所述一般储存区所储存的数据出现一个错误时,进行步骤716;如果所述一般储存区所储存的数据出现至少二个错误时,进行步骤718;步骤715:控制器102直接输出所述一般储存区所储存的数据;步骤716:控制器102利用所述错误纠正码功能纠正所述错误并输出一纠正后的数据;步骤718:控制器102从所述备份区读出所述备份区所储存的数据;步骤720:控制器102利用所述错误纠正码功能侦测所述备份区所储存的数据是否出现错误;步骤722:控制器102从所述备份区输出所述备份区所储存的数据;步骤724:结束。图7的第六实施例和图5的第四实施例的差别在于如果所述写入数据是重要的数据时,控制器102先在步骤710中从所述一般储存区读出所述一般储存区所储存的数据;在步骤712中,控制器102利用所述错误纠正码功能侦测所述一般储存区所储存的数据是否出现错误;在步骤715中,因为所述一般储存区所储存的数据没有任何错误,所以控制器102可直接输出所述一般储存区所储存的数据;在步骤716中,如果所述一般储存区所储存的数据出现一个错误,控制器102利用所述错误纠正码功能纠正所述错误并输出所述纠正后的数据;在步骤718中,如果数据出现至少二个错误时,控制器102不纠正所述至少二个错误,从所述备份区读出所述备份区所储存的数据;在步骤720中,控制器102利用所述错误纠正码功能侦测所述备份区所储存的数据是否出现错误;在步骤722中,控制器102从所述备份区输出所述备份区所储存的数据。另外,内存系统300也可根据图4-7涉及内存100的写入数据的方法和读出数据的方法操作,所以在此不再赘述。综上所述,本发明公开一种具有错误纠正功能的内存和相关的操作方法和内存系统。因为所述内存和所述操作方法是利用所述控制器选择性地写入所述写入数据至所述一般储存区和所述备份区,所以如果所述一般储存区所储存的数据出现至少二个错误时,所述控制器可读取所述备份区所储存的数据。另外,因为所述内存系统是利用所述内存系统的所述控制器选择性地写入所述写入数据至所述内存系统的一般储存内存和备份内存,所以如果所述一般储存内存所储存的数据出现至少二个错误时,所述控制器可读取所述备份内存所储存的数据。因此,相较于现有技术,本发明可对所述一般储存区所储存的数据和所述一般储存内存所储存的数据上的多个错误进行纠正。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

权利要求:1.一种具有错误纠正功能的内存,其特征在于,包括:一控制器;及一储存单元阵列;所述控制器选择性地写入一写入数据至所述储存单元阵列中的一一般储存区和一备份区,以及当所述控制器从所述一般储存区读出所述一般储存区对应所述写入数据的一第一数据时,如果所述第一数据出现至少二个错误,则所述控制器读取所述备份区以输出所述备份区中对应所述写入数据的一第二数据。2.如权利要求1所述的内存,其特征在于:所述一般储存区的内存容量和所述备份区的内存容量等于所述内存的内存容量。3.如权利要求1所述的内存,其特征在于:所述一般储存区的内存容量等于所述内存的内存容量,且所述备份区的内存容量是所述内存的内存容量外的内存容量。4.如权利要求1所述的内存,其特征在于:所述控制器同时写入所述写入数据至所述一般储存区和所述备份区。5.如权利要求1所述的内存,其特征在于:所述控制器从所述一般储存区读出所述第一数据,利用一错误纠正功能侦测所述第一数据是否出现错误,如果所述第一数据出现一错误时,所述控制器直接利用所述错误纠正功能纠正所述错误并输出一纠正后的数据,如果所述第一数据出现所述至少二个错误,则所述控制器从所述备份区读出所述第二数据并输出所述第二数据。6.如权利要求5所述的内存,其特征在于:当所述第一数据出现所述至少二个错误时,所述控制器更利用所述错误纠正功能侦测所述第二数据是否出现错误。7.一种具有错误纠正功能的内存系统,其特征在于,包括:一控制器;一一般储存内存;及一备份内存;所述控制器选择性地写入一写入数据至所述一般储存内存和所述备份内存,以及当所述控制器从所述一般储存内存读出对应该写入数据的一第一数据时,如果所述第一数据出现至少二个错误,则所述控制器读取该备份内存以输出储存于该备份内存中对应该写入数据的一第二数据。8.一种具有错误纠正功能的内存,其特征在于,包括:一储存单元阵列,包括一一般储存区和一备份区;及一控制器,连接所述储存单元阵列,选择性地写入一写入数据至所述一般储存区和所述备份区,其中当所述控制器从所述一般储存区读出对应所述写入数据的一第一数据出现至少一错误时,所述控制器选择性地利用一错误纠正功能纠正所述第一数据,或是读取所述备份区以输出储存于所述备份区中对应所述写入数据的一第二数据。9.如请求项8所述的内存,其特征在于:所述控制器依据所述第一数据出现的错误数量决定纠正所述第一数据或是读取所述备份区以输出所述第二数据。10.如请求项8所述的内存,其特征在于:所述控制器利用所述错误纠正功能侦测所述第一数据是否出现错误,当所述第一数据出现一个错误时,所述控制器利用所述错误纠正功能纠正所述错误并输出纠正后的所述第一数据,以及当所述第一数据出现至少两个错误时,所述控制器不纠正所述至少两个错误,以及读取所述备份区以输出所述第二数据。

百度查询: 钰创科技股份有限公司 具有错误纠正功能的内存和相关内存系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。