[发明专利]具有缓存的In-Line ECC模块有效
申请号: | 201910604755.5 | 申请日: | 2019-07-05 |
公开(公告)号: | CN110310693B | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 王时;林岗 | 申请(专利权)人: | 上海忆芯实业有限公司 |
主分类号: | G11C29/42 | 分类号: | G11C29/42 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 陈变花 |
地址: | 200120 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 缓存 in line ecc 模块 | ||
1.一种为存储设备提供ECC的方法,其特征在于,包括:
响应于接收到写命令,若写命令要写入的数据属于第一数据单元的地址范围,则将写命令要写入的数据写入单拍缓存;若写命令要写入的数据超过第一数据单元的地址范围,则将写命令要写入的数据写入完整数据缓存,所述单拍缓存仅容纳一个数据单元且不存储校验数据,所述完整数据缓存存储一个或多个数据单元且不包括所述一个或多个数据单元对应的校验数据;所述要写入的数据超过第一数据单元的地址范围包括要写入的数据的数据尺寸超过单拍缓存的容量;
为单拍缓存存储的数据单元计算校验数据,并得到同第一数据单元对应的包括第一数据单元与校验数据的第一ECC单元;
根据第一数据单元的地址计算第一ECC单元的地址;
生成指示第一ECC单元的地址的写命令,以将第一ECC单元写入DRAM。
2.根据权利要求1所述的为存储设备提供ECC的方法,其特征在于,还包括:响应于写命令要写入的数据属于第一数据单元的地址范围,若存在可用的单拍缓存,则为存储第一数据单元分配单拍缓存。
3.根据权利要求2所述的为存储设备提供ECC的方法,其特征在于,响应于写命令要写入的数据属于第一数据单元的地址范围,若不存在可用的单拍缓存,则为存储第一数据单元分配完整数据缓存。
4.根据权利要求1-3所述的为存储设备提供ECC的方法之一,其特征在于,还包括:
响应于接收到写命令,识别写命令是否引起部分写操作;
响应于识别出所述写命令引起部分写操作,计算部分写操作访问的数据对应的存储于DRAM中的ECC单元的地址;
生成指示存储于DRAM中的所述ECC单元的地址的读命令,以从DRAM中读出所述ECC单元;
合并读出的所述ECC单元对应的数据单元与写命令要写入的数据得到单拍缓存或完整数据缓存中存储的要写入的数据单元。
5.一种为存储设备提供ECC的方法,其特征在于,包括:
根据读命令要读出的数据对应的数据单元的地址计算数据单元对应的包括数据单元与校验数据的ECC单元的地址;
生成指示ECC单元地址的读命令,以从DRAM中读出ECC单元;
拆分ECC单元得到校验数据和数据单元;
若读命令要读出的数据单元数量小于阈值,则从读出的数据单元中获取读命令要读出的数据并存储于单拍缓存;
其中若读命令要读出的数据单元数量不小于阈值,则将从读出的数据单元中获取的读命令要读出的数据存储于完整数据缓存。
6.一种ECC模块,其特征在于,包括:单拍缓存、ECC编码器、ECC插入单元和地址计算器;
单拍缓存存储属于第一数据单元的地址范围的写命令要写入的数据;若写命令要写入的数据超过第一数据单元的地址范围,则将写命令要写入的数据写入完整数据缓存;所述要写入的数据超过第一数据单元的地址范围包括要写入的数据的数据尺寸超过单拍缓存的容量;
ECC编码器为单拍缓存存储的数据单元计算校验数据;
ECC插入单元将校验数据与单拍缓存存储的数据单元生成同第一数据单元对应的包括第一数据单元与校验数据的第一ECC单元;
地址计算器根据第一数据单元的地址计算存储第一ECC单元的地址。
7.根据权利要求6所述的ECC模块,其特征在于,还包括:完整数据缓存;
完整数据缓存存储访问超过单一数据单元的地址范围的写命令要写入的数据;
ECC编码器为完整数据缓存存储的多个数据单元计算多个校验数据;
ECC插入单元将多个校验数据与完整数据缓存存储的多个数据单元生成多个ECC单元;
地址计算器根据多个数据单元的地址计算存储对应的多个ECC单元的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海忆芯实业有限公司,未经上海忆芯实业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910604755.5/1.html,转载请声明来源钻瓜专利网。