|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
Memory scrubbing is a standard memory RAS feature designed to prevent soft errors from accumulating in memory an evedntually becoming an uncorrected error. It does this by proactively writing correct data back to memory every time an error is detected.In today’s systems, scrubbing comprises two types: patrol scrubbing and demand scrubbing. Both do the same thing. Once an error is found, they correct it in memory. The big difference between the two is how the error is found. Patrol scrubbing is a proactive search for errors and is done in the background. The background scan runs by stealing idle cycles on the bus and will typically scan through all memory once every 24 to 48 hours. Demand scrubbing, on the other hand, occurs only when memory is actually read by the OS or the application.
内存清除技术已经成为一种标准的内存RAS特性。该技术主要用来防止本来可以恢复的soft errors日积月累成为一个不可纠正的错误。例如,当在PHY和SDRAM之间出现了一个bit的link transfer error而导致错误的数据被写入到颗粒中,那么再读出的过程中其实是可以被纠正过来的。如果没有对其进行回写擦除纠正,那么如果在附近的64bit有出现一次1个bit的link transfer error而导致出现了两个错误,那么这个错误对控制器来说就变成了不可恢复的了。如果采用内存需求清除模式,在第一次发现错误的时候,立即回写已经被纠正的数据,将会避免这个问题。
所以内存清除技术即在监测到一个错误的时候可以前瞻性的将这个错误纠正并写回去。
在现在的系统中,这种监测模式分为两种:巡检模式和需求模式。
需求模式即前面所举的例子,在正常读取过程中监测到错误就纠正并写回。
巡检模式即系统内部偷偷的周期性的发送读操作来进行监测,如果有错误就纠正并写回。
巡检模式的带宽损耗会比较大,但是对于长期来看其实可以忽略不计。由于在24到48小时内,它可以完成对整个内存颗粒的巡检,所以它也具有更强的纠错的特性,系统更安全。
|
|