发明授权
- 专利标题: Memory controller with priority queues
- 专利标题(中): 具有优先级队列的内存控制器
-
申请号: US413672申请日: 1995-03-30
-
公开(公告)号: US5649157A公开(公告)日: 1997-07-15
- 发明人: James B. Williams
- 申请人: James B. Williams
- 申请人地址: CA Palo Alto
- 专利权人: Hewlett-Packard Co.
- 当前专利权人: Hewlett-Packard Co.
- 当前专利权人地址: CA Palo Alto
- 主分类号: G06F13/18
- IPC分类号: G06F13/18
摘要:
A memory controller receives reads, memory writes, and cache writes. A pending read is selected and issued to memory. When a response is received from memory, all cache writes are checked to determine whether any correspond to the pending read. If there is a corresponding cache write, the data from the corresponding cache write is used to respond to the pending read. Otherwise, prior memory writes arc checked to determine whether any correspond to the pending read. If there is a corresponding prior memory write, the data from the corresponding prior memory write is used to respond to the pending read. A coherency check from associated caches may also be performed, and the appropriate data returned to the processor that requested the read. Three queues may control the order in which memory access is performed. A read queue that contains read requests is typically given highest priority, and therefore reads are generally serviced first. A wait queue contains read requests and memory write requests, and is incremented to the pending read before the pending read is completed. As the wait queue is incremented, memory writes from the wait queue are entered onto a ready queue. Each request retrieved from the wait queue is checked against pending requests in the ready queue. Cache writes are entered directly onto the ready queue. When either a conflict is detected for the pending ready, or when the ready queue contains a certain amount of requests, the ready queue is flushed.
公开/授权文献
信息查询