为存储设备提供ECC的方法、ECC模块及存储设备技术

技术编号:27747389 阅读:17 留言:0更新日期:2021-03-19 13:42
本申请涉及存储设备提供ECC的方法、ECC模块及存储设备。该方法包括:响应于接收到写命令,若写命令要写入的数据属于第一数据单元的地址范围,则将写命令要写入的数据写入单拍缓存,单拍缓存的大小能容纳一个数据单元;为单拍缓存存储的数据单元计算校验数据,并得到同第一数据单元对应的第一ECC单元;根据第一数据单元的地址计算第一ECC单元的地址;生成指示第一ECC单元的地址的写命令,以将第一ECC单元写入DRAM。

【技术实现步骤摘要】
为存储设备提供ECC的方法、ECC模块及存储设备
本申请涉及集成电路
,尤其涉及为存储设备提供ECC的方法、ECC模块及存储设备。
技术介绍
一些存储器子系统中提供错误检查与校正(ErrorCheckingandCorrection,ECC)功能,用来检测存储器中的数据错误,以及可选地,对错误数据进行校正。提供ECC功能的存储器中存储数据以及基于数据计算出的校验数据。数据与其校验数据构成数据保护单元。例如,一个数据保护单元中,校验数据的大小是数据的12.5%。有多种为存储器中的数据生成校验数据的ECC编码,例如通过XOR(异或)计算产生校验数据,通过汉明码产生校验数据,通过BCH(Bose–Chaudhuri–Hocquenghem)码产生校验数据等。
技术实现思路
提供ECC功能的存储器价格相对昂贵。希望使用相对便宜的普通的存储器,并同时提供ECC功能。以及访问校验数据将为存储器访问带来带宽与延迟方面的额外开销,希望降低这种开销,以保证存储器的性能。根据本申请的第一方面,提供了根据本申请第一方面的第一为存储设备提供ECC的方法,包括:响应于接收到写命令,若写命令要写入的数据属于第一数据单元的地址范围,则将写命令要写入的数据写入单拍缓存;为单拍缓存存储的数据单元计算校验数据,并得到同第一数据单元对应的第一ECC单元;根据第一数据单元的地址计算第一ECC单元的地址;生成指示第一ECC单元的地址的写命令,以将第一ECC单元写入DRAM。根据本申请的第一方面的第一为存储设备提供ECC的方法,提供了根据本申请第一方面的第二为存储设备提供ECC的方法,还包括:响应于写命令要写入的数据属于第一数据单元的地址范围,若存在可用的单拍缓存,则为存储第一数据单元分配单拍缓存。根据本申请的第一方面的第二为存储设备提供ECC的方法,提供了根据本申请第一方面的第三为存储设备提供ECC的方法,其中,响应于写命令要写入的数据属于第一数据单元的地址范围,若不存在可用的单拍缓存,则为存储第一数据单元分配完整数据缓存。根据本申请的第一方面的第一至第三为存储设备提供ECC的方法之一,提供了根据本申请第一方面的第四为存储设备提供ECC的方法,其中,完整数据缓存的大小等于总线的最大传输长度。根据本申请的第一方面的第一至第四为存储设备提供ECC的方法之一,提供了根据本申请第一方面的第五为存储设备提供ECC的方法,其中,单拍缓存的大小能容纳一个数据单元。根据本申请的第一方面的第一至第五为存储设备提供ECC的方法之一,提供了根据本申请第一方面的第六为存储设备提供ECC的方法,其中,若写命令要写入的数据超过第一数据单元的地址范围,则将写命令要写入的数据写入完整数据缓存。根据本申请的第一方面的第六为存储设备提供ECC的方法之一,提供了根据本申请第一方面的第七为存储设备提供ECC的方法,还包括:为完整数据缓存中的多个数据单元计算校验数据,并得到同所述多个数据单元对应的多个ECC单元;生成指示所述多个ECC单元存储地址的写命令,以将所述多个ECC单元写入DRAM。根据本申请的第一方面的第一至第七为存储设备提供ECC的方法之一,提供了根据本申请第一方面的第八为存储设备提供ECC的方法,还包括:响应于接收到写命令,识别写命令是否引起部分写操作;响应于识别出所述写命令引起部分写操作,计算部分写操作访问的数据对应的存储于DRAM中的ECC单元的地址;生成指示存储于DRAM中的所述ECC单元的地址的读命令,以从DRAM中读出所述ECC单元;合并读出的所述ECC单元对应的数据单元与写命令要写入的数据得到单拍缓存或完整数据缓存中存储的要写入的数据单元。根据本申请的第一方面的第八为存储设备提供ECC的方法,提供了根据本申请第一方面的第九为存储设备提供ECC的方法,其中,根据写命令的地址与数据单元的长度,识别写命令是否引起部分写操作。根据本申请的第一方面的第九为存储设备提供ECC的方法,提供了根据本申请第一方面的第十为存储设备提供ECC的方法,其中,若写命令访问的地址空间的起始地址与数据单元的边界不对齐,则所述写命令的起始地址处引起部分写操作。根据本申请的第一方面的第九或第十为存储设备提供ECC的方法,提供了根据本申请第一方面的第十一为存储设备提供ECC的方法,其中,若写命令访问的地址空间的结尾地址与数据单元的边界不对齐,则所述写命令的结尾地址处引起部分写操作。根据本申请的第一方面的第八为存储设备提供ECC的方法,提供了根据本申请第一方面的第十二为存储设备提供ECC的方法,其中,若写命令指示的总线传输的第一拍数据中的部分数据为无效数据,则写命令指示的总线传输的第一拍引起部分写操作;或若写命令指示的总线传输的最后一拍数据中的部分数据为无效数据,则写命令指示的总线传输的最后一拍引起部分写操作。根据本申请的第一方面的第八为存储设备提供ECC的方法,提供了根据本申请第一方面的第十三为存储设备提供ECC的方法,其中,若写命令指示的总线传输的第一拍数据中的一份数据为无效数据,则写命令指示的总线传输的第一拍引起部分写操作;或若写命令指示的总线传输的最后一拍数据中的一份数据为无效数据,则写命令指示的总线传输的最后一拍引起部分写操作。根据本申请的第一方面的第八为存储设备提供ECC的方法,提供了根据本申请第一方面的第十四为存储设备提供ECC的方法,其中,若写命令指示的总线传输的第一拍数据的起始地址是总线传输单元的整数倍,而不是数据单元的整数倍,则写命令指示的总线传输的第一拍引起部分写操作。根据本申请的第一方面的第八为存储设备提供ECC的方法,提供了根据本申请第一方面的第十五为存储设备提供ECC的方法,其中,若写命令指示的总线传输的最后一拍数据的起始地址是总线传输单元的整数倍,而不是数据单元的整数倍,则写命令指示的总线传输的最后一拍引起部分写操作。根据本申请的第一方面的第一至第十五为存储设备提供ECC的方法之一,提供了根据本申请第一方面的第十六为存储设备提供ECC的方法,其中,校验数据被附加至数据单元的指定位置以形成ECC单元。根据本申请的第一方面的第一至第十六为存储设备提供ECC的方法之一,提供了根据本申请第一方面的第十七为存储设备提供ECC的方法,其中,指定位置为数据单元之后。根据本申请的第一方面的第一或第十七为存储设备提供ECC的方法之一,提供了根据本申请第一方面的第十八为存储设备提供ECC的方法,其中,根据公式计算ECC单元的存储地址,其中各运算为整型数运算,Addrecc是ECC单元的起始地址、Addrorg是数据单元的地址、N为ECC单元的数据长度、M为ECC块中数据单元占用的存储空间大小,S是每个4K跳过的字节数。根据本申请的第二方面,提供了根据本申请第二方面的第一为存储设备提供ECC的方法,包括:根据读命令要读出的数据对应的数据单元的地址计算数据单元对应的ECC单元的地址;生成指示ECC单元地址的读命令,以从DRAM中读出ECC单元;拆分ECC本文档来自技高网...

【技术保护点】
1.一种为存储设备提供ECC的方法,其特征在于,包括:/n响应于接收到写命令,若写命令要写入的数据属于第一数据单元的地址范围,则将写命令要写入的数据写入单拍缓存,单拍缓存的大小能容纳一个数据单元;/n为单拍缓存存储的数据单元计算校验数据,并得到同第一数据单元对应的第一ECC单元;根据第一数据单元的地址计算第一ECC单元的地址;/n生成指示第一ECC单元的地址的写命令,以将第一ECC单元写入DRAM。/n

【技术特征摘要】
20181226 CN 20181160262261.一种为存储设备提供ECC的方法,其特征在于,包括:
响应于接收到写命令,若写命令要写入的数据属于第一数据单元的地址范围,则将写命令要写入的数据写入单拍缓存,单拍缓存的大小能容纳一个数据单元;
为单拍缓存存储的数据单元计算校验数据,并得到同第一数据单元对应的第一ECC单元;根据第一数据单元的地址计算第一ECC单元的地址;
生成指示第一ECC单元的地址的写命令,以将第一ECC单元写入DRAM。


2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若写命令访问的地址空间的起始地址与数据单元的边界不对齐,则所述写命令的起始地址处引起部分写操作;或者,
若写命令访问的地址空间的结尾地址与数据单元的边界不对齐,则所述写命令的结尾地址处引起部分写操作。


3.如权利要求1所述的方法,其特征在于,若写命令指示的总线传输的第一拍数据中的部分数据为无效数据,则写命令指示的总线传输的第一拍引起部分写操作;
或若写命令指示的总线传输的最后一拍数据中的部分数据为无效数据,则写命令指示的总线传输的最后一拍引起部分写操作。


4.如权利要求1所述的方法,其特征在于,若写命令指示的总线传输的第一拍数据的起始地址是总线传输单元的整数倍,而不是数据单元的整数倍,则写命令指示的总线传输的第一拍引起部分写操作;或者,
若写命令指示的总线传输的最后一拍数据的起始地址是总线传输单元的整数倍,而不是数据单元的整数倍,则写命令指示的总线传输的最后一拍引起部分写操作。


5.一种ECC模块,包括:单拍缓存、ECC编码器、ECC插入单元和地址计算器;
单拍缓存存储属于第一数据单元的地址范围的写命令要写入的数据;ECC编码器为单拍缓存存储的数据单元计算校验数据;
ECC插入单元将校验数据与单拍缓存存储的数据单元生成同第一数据单元对应的第一ECC单元;地址计算器根据第一数据单元的地址计算存储第一ECC单元的地址。


6.如权利要求5所述的ECC模块,其特征在于,还包括:部分写检测器和读-修改-写控制器;部分写检测器识别写命...

【专利技术属性】
技术研发人员:王时林岗
申请(专利权)人:上海忆芯实业有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1