CN118173155A - 一种系统芯片架构及其读取片外数据的方法 - Google Patents

一种系统芯片架构及其读取片外数据的方法 Download PDF

Info

Publication number
CN118173155A
CN118173155A CN202410349669.5A CN202410349669A CN118173155A CN 118173155 A CN118173155 A CN 118173155A CN 202410349669 A CN202410349669 A CN 202410349669A CN 118173155 A CN118173155 A CN 118173155A
Authority
CN
China
Prior art keywords
partition
data
chip
ecc
check
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.)
Pending
Application number
CN202410349669.5A
Other languages
English (en)
Inventor
江国范
周炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingxin Technology Wuxi Co ltd
Original Assignee
Qingxin Technology Wuxi Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingxin Technology Wuxi Co ltd filed Critical Qingxin Technology Wuxi Co ltd
Priority to CN202410349669.5A priority Critical patent/CN118173155A/zh
Publication of CN118173155A publication Critical patent/CN118173155A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供的一种系统芯片架构,其包括ECC缓存模块以及ECC校验模块。其中ECC缓存模块包括第一分区及第二分区,第一分区及第二分区分别具有地址线、数据线及写使能信号线,其中第二分区的地址线由写使能信号线控制,且第一分区用于存储数据,以及第二分区用于存储校验值。ECC校验模块与ECC缓存模块可通信地连接,以基于第一分区中的数据及第二分区中的校验值进行ECC校验。通过在系统芯片的内部引入额外的ECC缓存及校验模块,可实现非易失性存储器的ECC校验功能和传输功能,提高芯片数据传输的可靠性。

Description

一种系统芯片架构及其读取片外数据的方法
技术领域
本发明涉及集成电路技术领域,特别涉及一种系统芯片架构及其读取片外数据的方法。
背景技术
系统芯片(System on Ch i p,SoC)是一种高度集成的电子系统,其将多个功能模块整合到一个单一的芯片上,以提高系统性能、降低功耗,并减小物理尺寸。其核心目标在于诸如处理器、内存、接口控制器等组件集成在一个芯片上,以便实现更紧凑、更高效的电子系统。
图1示出典型的系统芯片的架构示意图,如图1所示,所述系统芯片100包含1个或者多个CPU 101,1个或者多个直接内存访问(D i rect Memory Access,DMA)控制器102、非易失性存储器控制器(NV-MEM Contro l l er)104、SRAM存储器105以及外设控制器106,各器件之间通过芯片内的系统总线103进行通信。其中DMA作为系统总线的主设备实现直接内存访问,其不需要CPU的过多参与。所述非易失性存储器控制器104可以访问片外的NOR-FLASH或者EEPROM等非易失性存储器200,所述外设控制器106可支持I2C、UART等。
如图2或图3所示,所述系统芯片可通过CPU或DMA控制器实现与片外非易失性存储器的数据交互,具体而言,是将CPU或者DMA控制器作为系统总线的设备,发起数据传输,从所述片外非易失性存储器读取数据,然后存入片内的SRAM存储器105中,随后CPU可直接从SRAM内读取数据或者指令。
虽然所述系统芯片可将整块的数据从片外非易失性存储器搬运到片内的SRAM存储器中,如图4所示,但是非易失性存储器作为低成本电子元器件,通常仅包括数个PAD,需要通过4线SPI或者2线I 2C来访问,其在接口上通常不考虑额外的奇偶校验位或者ECC校验值。因此,通过PCB访问片外的非易失性存储器,芯片的封装和PCB可能引入传输错误,且不能被检测或者纠正,进而导致被写入片内的SRAM的数据本身就可能是错误的。在金融证券、工业或者军品、航空航天等高可靠性应用场景,不可检测的数据存取或者传输错误往往带来巨大的损失。
发明内容
针对现有技术中的部分或全部问题,本发明第一方面提供一种系统芯片架构,包括:
ECC缓存模块,其包括第一分区及第二分区,所述第一分区及第二分区分别具有地址线、数据线及写使能信号线,其中所述第二分区的地址线由所述写使能信号线控制,且所述第一分区用于存储数据,以及所述第二分区用于存储校验值;以及
ECC校验模块,其与所述ECC缓存模块可通信地连接,用于基于所述第一分区中的数据及第二分区中的校验值进行ECC校验。
进一步地,所述第二分区包括或非门,通过~WEN0&~WEN1控制所述或非门,其中~WEN0、~WEN1分别为第一、第二分区的写使能信号线的非计算。
进一步地,所述ECC缓存模块的深度根据芯片的规格确定。
进一步地,所述第二分区的大小根据第一分区的大小及数据分区的位宽确定。
进一步地,所述系统芯片架构还包括:CPU、直接内存访问(D i rect MemoryAccess,DMA)控制器、非易失性存储器控制器、SRAM存储器以及外设控制器,所述ECC缓存模块通过芯片内的系统总线与所述CPU、直接内存访问控制器、非易失性存储器控制器、SRAM存储器以及外设控制器通信。
进一步地,所述非易失性存储器控制器用于将片外非易失性存储器中的数据搬运至所述ECC缓存模块。
基于如前所述的系统芯片架构,本发明第二方面提供一种用于系统芯片的读取片外数据的方法,包括:
从片外非易失性存储器中搬运指定大小的未校验原始数据至ECC缓存模块的第一分区,其中所述指定大小不大于所述第一分区的大小;
从片外非易失性存储器中搬运与所述未校验原始数据对应的校验值至ECC缓存模块的第二分区;
通过所述ECC校验模块,基于所述第一分区中的数据及第二分区中的校验值进行ECC校验:
若校验通过,则将所述第一分区中的数据搬运至SRAM存储器中;否则
重新从所述片外非易失性存储器中搬运数据及校验值进行ECC校验;以及
重复前述步骤,直至所有数据搬运完成。
本发明提供的一种系统芯片架构及其读取片外数据的方法,通过在系统芯片的内部引入额外的ECC缓存及校验模块,以实现非易失性存储器的ECC校验功能和传输功能。所述系统芯片架构不需要修改现有的系统芯片中其他元器件的结构,即可实现ECC校验,进而提高系统芯片读取片外数据的准确率,进而提高芯片可靠性。所述系统芯片架构可应用于金融证券、工业或者军品、航空航天等高可靠性应用场景中,避免不可检测的数据存取或者传输错误巨大的损失。
附图说明
为进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。
图1示出典型的系统芯片的架构示意图;
图2示出系统芯片通过CPU从片外非易失性存储器获取数据的过程示意图;
图3示出系统芯片通过DMA控制器从片外非易失性存储器获取数据的过程示意图;
图4示出数据从片外非易失性存储器搬运至片内的SRAM存储器的示意图;
图5示出本发明一个实施例的一种系统芯片架构的结构示意图;
图6示出本发明一个实施例的ECC模块的结构示意图;
图7示出本发明一个实施例的片外非易失性存储器的数据存储示意图;
图8示出本发明一个实施例的系统芯片的读取片外数据的方法的流程示意图;
图9示出本发明一个实施例的系统芯片的读取片外数据的方法的过程示意图。
具体实施方式
以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构或操作以免模糊本发明的发明点。类似地,为了解释的目的,阐述了特定数量和配置,以便提供对本发明的实施例的全面理解。然而,本发明并不限于这些特定细节。此外,应理解附图中示出的各实施例是说明性表示且不一定按正确比例绘制。
在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。
需要说明的是,本发明的实施例以特定顺序对方法步骤进行描述,然而这只是为了阐述该具体实施例,而不是限定各步骤的先后顺序。相反,在本发明的不同实施例中,可根据实际需求的调节来调整各步骤的先后顺序。
在本发明中,根据本发明的系统的各模块可以使用软件、硬件、固件或其组合来实现。当模块使用软件来实现时,可以通过计算机程序流程来实现模块的功能,例如模块可以通过存储在存储设备(如硬盘、内存等)中的代码段(如C、C++等语言的代码段)来实现,其中当所述代码段被处理器执行时能够实现模块的相应功能。当模块使用硬件来实现时,可以通过设置相应硬件结构来实现模块的功能,例如通过对现场可编程逻辑门阵列(FPGA)等可编程器件进行硬件编程来实现模块的功能,或者通过设计包括多个晶体管、电阻和电容等电子器件的专用集成电路(AS I C)来实现模块的功能。当模块使用固件来实现时,可以将模块的功能以程序代码形式写入设备的诸如EPROM或EEPROM之类的只读存储器中,并且当所述程序代码被处理器执行时能够实现模块的相应功能。另外,模块的某些功能可能需要由单独的硬件来实现或者通过与所述硬件协作来实现,例如检测功能通过相应传感器(如接近传感器、加速度传感器、陀螺仪等)来实现,信号发射功能通过相应通信设备(如蓝牙设备、红外通信设备、基带通信设备、Wi-F i通信设备等)来实现,输出功能通过相应输出设备(如显示器、扬声器等)来实现,以此类推。
针对现有的系统芯片SoC在读取片外非易失性存储器中数据时,无法进行检测和/或纠错的缺陷,本发明对系统芯片架构进行了优化,具体而言,是在SoC中引入额外的ECC缓存,实现非易失性存储器的ECC校验功能和传输功能,进而满足高可靠性应用场景的需求。
下面结合实施例附图对本发明的技术方案做进一步描述。
图5示出本发明一个实施例的一种系统芯片架构的结构示意图。如图5所述,一种系统芯片架构,其在现有的系统芯片架构基础上增加了ECC模块107,所述ECC模块107与所述系统芯片架构的其他模块、和/或元器件通过芯片内的系统总线103进行通信。如前所述,所述ECC模块用于对自片外的NOR-FLASH或者EEPROM等非易失性存储器200中拌匀的数据先进行ECC校验,校验成功后在搬运至SRAM存储器105中。
如图5所示,所述系统芯片架构还进一步地包含1个或者多个CPU 101,1个或者多个直接内存访问(D i rect Memory Access,DMA)控制器102、非易失性存储器控制器(NV-MEM Contro l l er)104、SRAM存储器105以及外设控制器106,所述CPU 101、DMA控制器102、NV-MEM Contro l l er 104、SRAM存储器105以及外设控制器106之间通过芯片内的系统总线103进行通信。其中所述非易失性存储器控制器104可以访问片外的NOR-FLASH或者EEPROM等非易失性存储器200,进而将数据搬运至所述ECC模块,以及所述外设控制器106可支持I 2C、UART等。
图6示出本发明一个实施例的ECC模块的结构示意图。如图6所示,所述ECC模块包括ECC缓存模块以及ECC校验模块602。其中所述ECC缓存模块包括第一分区(DATA-BANK)611及第二分区(ECC-BANK)612。如图6所示,所述第一分区及第二分区分别具有地址线、数据线及写使能信号线。具体而言,所述第一分区611包括第一地址线ADDR0、第一数据线D I N0及第一写使能信号线WEN0,第二分区612则包括第二地址线ADDR1、第二数据线D I N1及第二写使能信号线WEN1。在本发明的一个实施例中,所述第一分区用于缓存原始数据,第二分区则用于缓存所述原始数据对应的ECC校验值。在实际应用过程中,第一分区与第二分区的写操作分时完成,因此其各自具有独立的写使能信号线,但是在读操作时,第二分区数据与第一分区数据需同步读出,为满足这一需求,在本发明的一个实施例中,通过所述第一写使能信号线及第二写使能信号线控制所述第二地址线,使能第二分区的读操作。如图6所示,在本发明的一个实施例中,是在所述第二分区中设置有或非门603,通过~WEN0&~WEN1的或非门操作,控制打开校验分区的地址线,即当所述第一及第二写使能信号线均为0时,使能第二分区读操作。
所述ECC校验模块602与所述ECC缓存模块可通信地连接,进而可基于所述第一分区中的数据及第二分区中的校验值进行ECC校验。在本发明的一个实施例中,所述ECC校验模块602的ECC校验基于汉明码“SECDED”(S i ng l e Error Correct Doub l e Er rorDect i on),其可以检测1位和2位错误,并纠正1位错误。在本发明其他实施例中,也可通过DECTED(doub l e-error correct i on/tr i p l e-error detect i on)双位错误校正和三位错误检测。
在本发明的一个实施例中,所述ECC缓存模块的深度根据芯片的规格确定,其中ECC缓存越深,系统性能越好,反之,ECC缓存越浅,额外成本越低。此外,还可根据实际需求确定第一分区的数据位宽,例如若采用ECC(32,7),则每32b i t数据需要增加7b it的ECC校验位,若采用ECC(64,8),则每64b i t数据需要增加8b it的ECC校验位。所述第二分区的位宽根据第一分区的位宽确定。例如,第一分区为64-b it位宽,而第二分区需要8-b i t位宽,第一分区为32-b it位宽,而第二分区仅需要7-b it位宽等。第一分区及第二分区的大小基于其位宽及所述ECC缓存的深度决定,例如采用512深度时,若第一分区位宽为64-bit,则其可以存储4K-Byte数据,相应的,所述第二分区可存储512-Byte校验值。
此外,为了实现ECC校验,还需要在片外非易失性存储器存储器内纵向空间增加ECC校验位,如图7所示,所述片外非易失性存储器内存储的原始数据(D)保持不变;在原始数据数据结束后,开始存储ECC检验数据。以ECC(64,8)为例,每8个Byte的原始数据(D)对应1个Byte的ECC校验位(V)。
基于如前所述的系统芯片架构,图8及图9分别示出本发明一个实施例的系统芯片的读取片外数据的方法的流程示意图及过程示意图,如图所示,一种用于如前所述的系统芯片架构的读取片外数据的方法,包括:
首先,在步骤801,搬运原始数据。从片外非易失性存储器中搬运指定大小的未校验原始数据至ECC缓存模块的第一分区,其中所述指定大小不大于所述第一分区的大小。以ECC(64,8)为例,采用512深度时,搬运4K-Byte未校验原始数据至第一分区;
接下来,在步骤802,搬运校验值。从片外非易失性存储器中搬运与所述未校验原始数据对应的校验值至ECC缓存模块的第二分区。以ECC(64,8)为例,采用512深度时,搬运512-Byte的校验值至第二分区;以及
最后,在步骤803,ECC校验。通过所述ECC校验模块,基于所述第一分区中的数据及第二分区中的校验值进行ECC校验:
若校验通过,则将所述第一分区中的数据搬运至SRAM存储器中;否则
返回步骤801,重新从所述片外非易失性存储器中搬运数据及校验值进行ECC校验。
反复循环前述步骤,直到把所有片外非易失性存储器的数据,都搬运到片内SRAM空间。
在本发明的一个实施例中,进行ECC校验时,如前所述,在第一分区读的同时,第二分区对应的数据行也被读出,且第二分区读出的校验值为同时从第一分区读出的原始数据对应的校验值,所述校验值与原始数据一起进入所述ECC校验模块。当采用SECDEC算法时,如果出现1b it数据传输错误,则Post-ECC Data上出现的为正确的64-b it数据,但同时ECC状态位会指示出现1b i t数据传输错误,而如果出现2b it数据传输错误,则Post-ECCData无法纠错,但是ECC状态位会指示出现2b it数据传输错误,进而实现了片外非易失性存储器的ECC数据校验和传输。
尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

Claims (7)

1.一种系统芯片架构,其特征在于,包括:
ECC缓存模块,其包括:
第一分区,包括第一地址线、第一数据线及第一写使能信号线,所述第一分区被配置为存储数据;以及
第二分区,包括第二地址线、第二数据线及第二写使能信号线,其中所述第二地址线由所述第一写使能信号线及第二写使能信号线控制,所述第二分区被配置为存储所述第一分区中数据对应的校验值;以及
ECC校验模块,其与所述ECC缓存模块可通信地连接,其被配置为基于所述第一分区中的数据及第二分区中的校验值进行ECC校验。
2.如权利要求1所述的系统芯片架构,其特征在于,所述第二分区包括或非门,通过~WEN0&~WEN1控制所述或非门,其中~WEN0、~WEN1分别为第一写使能信号线及第二写使能信号线的取反值。
3.如权利要求1所述的系统芯片架构,其特征在于,所述ECC缓存模块的深度根据芯片的规格确定。
4.如权利要求1所述的系统芯片架构,其特征在于,所述第二分区的位宽根据第一分区的位宽确定。
5.如权利要求1所述的系统芯片架构,其特征在于,还包括:CPU、直接内存访问控制器、非易失性存储器控制器、SRAM存储器以及外设控制器,且所述ECC缓存模块通过芯片内的系统总线与所述CPU、直接内存访问控制器、非易失性存储器控制器、SRAM存储器以及外设控制器通信。
6.如权利要求5所述的系统芯片架构,其特征在于,所述非易失性存储器控制器被配置为将片外非易失性存储器中的数据搬运至所述ECC缓存模块。
7.一种用于如权利要求1至6任一所述的系统芯片架构的读取片外数据的方法,其特征在于,包括步骤:
从片外非易失性存储器中搬运指定大小的未校验原始数据至ECC缓存模块的第一分区,其中所述指定大小不大于所述第一分区的大小;
从片外非易失性存储器中搬运与所述未校验原始数据对应的校验值至ECC缓存模块的第二分区;
通过所述ECC校验模块,基于所述第一分区中的数据及第二分区中的校验值进行ECC校验:
若校验通过,则将所述第一分区中的数据搬运至SRAM存储器中;否则
重新从所述片外非易失性存储器中搬运数据及校验值进行ECC校验;以及
重复前述步骤,直至所有数据搬运完成。
CN202410349669.5A 2024-03-26 2024-03-26 一种系统芯片架构及其读取片外数据的方法 Pending CN118173155A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410349669.5A CN118173155A (zh) 2024-03-26 2024-03-26 一种系统芯片架构及其读取片外数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410349669.5A CN118173155A (zh) 2024-03-26 2024-03-26 一种系统芯片架构及其读取片外数据的方法

Publications (1)

Publication Number Publication Date
CN118173155A true CN118173155A (zh) 2024-06-11

Family

ID=91348385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410349669.5A Pending CN118173155A (zh) 2024-03-26 2024-03-26 一种系统芯片架构及其读取片外数据的方法

Country Status (1)

Country Link
CN (1) CN118173155A (zh)

Similar Documents

Publication Publication Date Title
US8006165B2 (en) Memory controller and semiconductor memory device
US9411537B2 (en) Embedded multimedia card (EMMC), EMMC system including the EMMC, and method of operating the EMMC
US7299400B2 (en) Error correction circuit
US9015553B2 (en) Data integrity in memory controllers and methods
US8135935B2 (en) ECC implementation in non-ECC components
US8392794B2 (en) Non-volatile memory device and data processing method thereof
US20120151294A1 (en) Method and apparatus for correcting errors in memory device
US20120124446A1 (en) System and method for data read of a synchronous serial interface nand
JP4908083B2 (ja) メモリコントローラ
KR20070024624A (ko) 플래시 메모리 장치에서 내부 프로그래밍 동안 동시적으로외부 판독 동작을 수행하기 위한 방법 및 시스템
US10372338B2 (en) Memory controller and data processing circuit with improved system efficiency
US10388392B2 (en) Safe execution in place (XIP) from flash memory
US10860518B2 (en) Integrated circuit system
CN115203099A (zh) 包括pipe5到pipe4转换器的系统及其方法
TWI507876B (zh) 記憶體儲存裝置及控制方法、記憶體控制電路單元及模組
CN111913668A (zh) 一种ip复用下检纠查存储器数据准确性的方法
CN118173155A (zh) 一种系统芯片架构及其读取片外数据的方法
US20100146224A1 (en) Request processing device, request processing system, and access testing method
US11573857B2 (en) Method for the secured storing of a data element in an external memory and interface module
CN111323149A (zh) 含纠正otp错误功能的温度传感器装置及otp错误的纠正方法
CN111679933B (zh) 一种外扩Flash程序存储区扩展EDAC校验电路及读写方法
JP2004126911A (ja) 制御装置
TWI720565B (zh) 記憶體控制器與資料儲存裝置
CN117909123A (zh) 电子设备、电子系统、运行电子设备的方法和运行电子系统的方法
KR20140028914A (ko) 압축병렬테스트방법을 제공하는 반도체메모리장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination