拍谢不知道要在哪里问,最近在实作LRU遇到一些问题
假设我的cache policy是以LRU实作
存放单位是以request为单位
request = (起始位置,写的长度)
假设写单位是sector (LSN)
一个request (100,3)代表 :
写LSN100 ~ 102
那问题来了
假设两个request之间只有部份位置重叠
例如两个request分别 :
写100 101 102 103
写99 100
问题 :
1.这样的话有部份重叠到
如果我是以request evict当作真正处理request的话,不就会有发生先后顺序的问题了,可
能我先写了新的100再写旧100
2.如果是hit到另外一笔request的部份位置,需要把那个request也往MRU丢吗!?
3.这种情况发生的多吗?如果都是只更新一小部份的话会一直遇到这个问题
p.s这边假设是以Request level去做,用sector level去做就不会有这个问题了
先谢谢大家了0...0