A system and method for the ECC of a memory device including the data part and the error correction control (ECC) part is disclosed. The memory device is coupled to the on-chip system (SoC). The SoC includes the ECC cache. When receiving requests to write data rows to memory, determine whether the data is compressible. If so, the data line is compressed. Generate ECC bits for compressed or uncompressed data rows. Determines whether the ECC cache line is associated with the received data rows. If the data line is compressible, the ECC bit is attached to the compressed data row, and the additional data rows are stored in the data portion of the memory. Otherwise, the ECC bits are stored in the ECC cache and the data rows are stored in the data part of the memory.
【技术实现步骤摘要】
【国外来华专利技术】用于在存储器中实现纠错码的系统和方法相关申请的优先权要求本申请根据35U.S.C.§119(b),要求享受于2015年11月2日提交的、标题为“SYSTEMSANDMETHODSFORIMPLEMENTINGERRORCORRECTINGCODEINAMEMORY”的印度专利申请No.5908/CHE/2015的优先权。故以引用方式将该印度专利申请的全部内容并入本文。
技术介绍
包括有耦合到存储器的至少一个处理器的计算设备无处不在。计算设备可以包括个人计算设备(例如,桌面型计算机、膝上型计算机、蜂窝电话、智能电话、平板计算机、便携式数字助理(PDA)和便携式游戏控制台),或者可以包括成较大产品(例如,家电、汽车、飞机、军事或建筑设备等等)的组件。包含计算设备的各种产品可能受制于设置针对该产品中使用的存储器的要求的规定或标准,其包括对诸如DDR(双倍数据速率)DRAM(动态随机存取存储器)之类的存储器使用纠错码(ECC)。这种标准的一个例子是标题为“Roadvehicles–Functionalsafety”的、用于汽车的功能安全标准ISO26262,其为汽车电气/电子系统中使用的存储器设定了标准和要求,其包括在DDRDRAM存储器中使用ECC。为了满足这些标准或规定(例如,ISO26262),可以将DDRDRAM存储器定制设计为满足可以在其中使用DDRDRAM存储器的产品和/或应用的特定要求。但是,这种定制的DDRDRAM存储器的设计和制造成本很高。另外,试图使用常规存储器来满足这些标准或规定也可能是昂贵的,尤其是在这些标准需要非标准的存储器大小和/或存储器接口 ...
【技术保护点】
1.一种用于在存储器设备中实现纠错控制(ECC)的方法,所述方法包括:在片上系统(SoC)的组件处,接收向与所述SoC进行电通信的存储器设备写入数据行的请求;确定所接收的数据行是否是可压缩的;确定存在针对与所接收的数据行相关联的所述SoC的ECC高速缓存的高速缓存行的命中还是未命中;以及响应于确定所接收的数据行是可压缩的,进行以下操作:对所接收的数据行进行压缩,基于所压缩的数据行来生成ECC比特,将所述ECC比特附加到所压缩的数据行,将所附加的经压缩的数据行存储在所述存储器设备的数据部分中,以及响应于针对所述ECC高速缓存的命中,删除与所接收的数据行相关联的所述ECC高速缓存的所述高速缓存行,或者响应于针对所述ECC高速缓存的未命中,确定是否删除所述存储器设备的ECC部分的行,或者,响应于确定所接收的数据行是不可压缩的,进行以下操作:基于未压缩的数据行来生成ECC比特,将所述未压缩的数据行存储在所述存储器设备的所述数据部分中,并且将所生成的ECC比特写入到所述ECC高速缓存中。
【技术特征摘要】
【国外来华专利技术】2015.11.02 IN 5908/CHE/2015;2016.01.12 US 14/994,01.一种用于在存储器设备中实现纠错控制(ECC)的方法,所述方法包括:在片上系统(SoC)的组件处,接收向与所述SoC进行电通信的存储器设备写入数据行的请求;确定所接收的数据行是否是可压缩的;确定存在针对与所接收的数据行相关联的所述SoC的ECC高速缓存的高速缓存行的命中还是未命中;以及响应于确定所接收的数据行是可压缩的,进行以下操作:对所接收的数据行进行压缩,基于所压缩的数据行来生成ECC比特,将所述ECC比特附加到所压缩的数据行,将所附加的经压缩的数据行存储在所述存储器设备的数据部分中,以及响应于针对所述ECC高速缓存的命中,删除与所接收的数据行相关联的所述ECC高速缓存的所述高速缓存行,或者响应于针对所述ECC高速缓存的未命中,确定是否删除所述存储器设备的ECC部分的行,或者,响应于确定所接收的数据行是不可压缩的,进行以下操作:基于未压缩的数据行来生成ECC比特,将所述未压缩的数据行存储在所述存储器设备的所述数据部分中,并且将所生成的ECC比特写入到所述ECC高速缓存中。2.根据权利要求1所述的方法,其中,确定是否删除所述存储器设备的ECC部分的所述行还包括:将表示存储在所述存储器设备的所述数据部分中的未压缩的数据行的数量的值(COUNT)与表示所述ECC高速缓存中的存储ECC数据的存储器区域的数量的值(VALID_WAY)进行比较,其中,如果所述COUNT大于所述VALID_WAY,则针对与所接收的数据行相关联的有效比特,对所述存储器设备的所述ECC部分进行检查。3.根据权利要求2所述的方法,其中,响应于所述有效比特位于所述ECC部分中,删除与所述有效比特相关联的所述ECC部分的高速缓存行,并且减小COUNT的所述值。4.根据权利要求1所述的方法,其中,将所生成的ECC比特写入到所述ECC高速缓存中还包括:响应于针对所述ECC高速缓存的命中,使用所生成的ECC比特来替换所述ECC高速缓存的所述高速缓存行,或者响应于针对所述ECC高速缓存的未命中,确定所述ECC高速缓存是否已满。5.根据权利要求4所述的方法,其中,确定所述ECC高速缓存是否已满还包括:确定COUNT的所述值是否小于表示所述ECC高速缓存中的用于存储数据ECC数据的存储器区域的最大数量的值(PHYSICAL_WAY)。6.根据权利要求5所述的方法,还包括:响应于确定COUNT小于PHYSICL_WAY,将所生成的ECC比特写入到所述ECC高速缓存中,并且对COUNT和PHYSICAL_WAY的所述值进行递增,或者响应于确定COUNT等于或大于PHYSICAL_WAY,将VALID_WAY与PHYSICAL_WAY进行比较。7.根据权利要求6所述的方法,还包括:响应于确定VALID_WAY小于PHYSICAL_WAY,将所生成的ECC比特写入到所述ECC高速缓存中,并且对COUNT和PHYSICAL_WAY的所述值进行递增,或者响应于确定VALID_WAY大于或等于PHYSICAL_WAY,将所述ECC高速缓存的第二高速缓存行驱逐到所述存储器设备的所述ECC部分,将所生成的ECC比特写入到所述ECC高速缓存中,并且对COUNT的所述值进行递增。8.根据权利要求7所述的方法,其中,所述第二高速缓存行是最近最少使用(LRE)高速缓存行。9.根据权利要求1所述的方法,还包括:在所述SoC的组件处,接收针对所述存储器设备的所述数据部分中的经存储的数据行的读取请求;确定存在针对与所述经存储的数据行的地址相关联的所述ECC高速缓存的读取命中还是读取未命中;以及响应于针对所述ECC高速缓存的读取命中,使用与所述经存储的数据行的所述地址相关联的所述ECC高速缓存中的ECC数据,来进行对所述经存储的数据行的ECC检查,或者响应于针对所述ECC高速缓存的读取未命中,针对与所述经存储的数据行相关联的有效比特,对所述存储器设备的所述ECC部分进行检查,其中,响应于所述有效比特位于所述ECC部分中,使用所述存储器设备的所述ECC部分中的ECC数据来进行所述ECC检查,或者响应于所述有效比特不位于所述ECC部分中,使用附加到所述经存储的数据行的ECC数据来进行所述ECC检查,并且对所述经存储的数据行进行解压缩。10.根据权利要求1所述的方法,其中,针对写入所述数据行的所述请求是从所述SoC的高速缓存接收的,并且所接收的数据行包括128比特、64比特、32比特、16比特或者8比特高速缓存行。11.一种用于在存储器设备中实现纠错控制(ECC)的系统,所述系统包括:用于在片上系统(SoC)的组件处,接收向与所述SoC进行电通信的存储器设备写入数据行的请求的单元;用于确定所接收的数据行是否是可压缩的单元;用于确定存在针对与所接收的数据行相关联的所述SoC的ECC高速缓存的高速缓存行的命中还是未命中的单元;用于响应于确定所接收的数据行是可压缩的,对所接收的数据行进行压缩的单元;用于基于所压缩的数据行来生成ECC比特的单元;用于将所述ECC比特附加到所压缩的数据行的单元;用于将所附加的经压缩的数据行存储在所述存储器设备的数据部分中的单元;用于响应于针对所述ECC高速缓存的命中,删除与所接收的数据行相关联的所述ECC高速缓存的所述高速缓存行的单元;用于响应于针对所述ECC高速缓存的未命中,确定是否删除所述存储器设备的ECC部分的行的单元;用于响应于确定所接收的数据行是不可压缩的,基于未压缩的数据行来生成ECC比特的单元;用于响应于确定所接收的数据行是不可压缩的,将所述未压缩的数据行存储在所述存储器设备的所述数据部分中的单元;以及用于响应于确定所接收的数据行是不可压缩的,将所生成的ECC比特写入到所述ECC高速缓存中的单元。12.根据权利要求11所述的系统,其中,所述用于确定是否删除所述存储器设备的ECC部分的所述行的单元还包括:用于将表示存储在所述存储器设备的所述数据部分中的未压缩的数据行的数量的值(COUNT)与表示所述ECC高速缓存中的存储ECC数据的存储器区域的数量的值(VALID_WAY)进行比较的单元,其中,如果所述COUNT大于所述VALID_WAY,则针对与所接收的数据行相关联的有效比特,对所述存储器设备的所述ECC部分进行检查。13.根据权利要求12所述的系统,还包括:用于响应于所述有效比特位于所述ECC部分中,删除与所述有效比特相关联的所述ECC部分的高速缓存行的单元,以及用于减小COUNT的值的单元。14.根据权利要求11所述的系统,其中,所述用于将所生成的ECC比特写入到所述ECC高速缓存中的单元还包括:用于响应于针对所述ECC高速缓存的命中,使用所生成的ECC比特来替换所述ECC高速缓存的所述高速缓存行的单元;以及用于响应于针对所述ECC高速缓存的未命中,确定所述ECC高速缓存是否已满的单元。15.根据权利要求14所述的系统,其中,所述用于确定所述ECC高速缓存是否已满的单元还包括:用于确定COUNT的所述值是否小于表示所述ECC高速缓存中的用于存储数据ECC数据的存储器区域的最大数量的值(PHYSICAL_WAY)的单元。16.根据权利要求15所述的系统,还包括:用于响应于确定CO...
【专利技术属性】
技术研发人员:N·郭,M·比斯瓦斯,P·布扬,J·沙贝尔,R·哈达克,R·古拉蒂,M·黑德斯,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。