- 专利标题: Buffer management and system coordination method
-
申请号: US947213申请日: 1997-10-09
-
公开(公告)号: US5963977A公开(公告)日: 1999-10-05
- 发明人: Clifford M. Gold , Hang D. Nguyen , George Li , Minnie Uppuluri , Hoa Luong , Steve Paul , Bryan Mee , Trinh Bui
- 申请人: Clifford M. Gold , Hang D. Nguyen , George Li , Minnie Uppuluri , Hoa Luong , Steve Paul , Bryan Mee , Trinh Bui
- 申请人地址: CA Milpitas
- 专利权人: Quantum Corporation
- 当前专利权人: Quantum Corporation
- 当前专利权人地址: CA Milpitas
- 主分类号: G06F3/06
- IPC分类号: G06F3/06 ; G06F12/00
摘要:
A method of coordinating access to a data buffer including a plurality of data blocks, using a buffer list with a plurality of entries corresponding to the data blocks. Each buffer list entry includes: (i) a status code for indicating the status of data in the corresponding data block, and (ii) a partial address common to both the next buffer list entry and a data block corresponding to said next buffer list entry. A status code is selected from a cyclical set of sequential status codes having a period of N, the status codes sequentially, and alternately, representing the most recent history of a data block, including: (i) full status, indicating data in the data block has been retrieved from the storage device or is to be stored to the storage device, or (ii) empty status, indicating data transferred out of the data block to a host or to the storage device. A store flag maintains a status code representing empty status, and a retrieve flag maintains a status code representing full status. When storing data into the data buffer, locating a desired buffer list entry list with an empty status code by traversing the buffer list, calculating the address of each entry using the partial address in the previous entry, until the desired entry is found. The address of the data block corresponding to the found entry is calculated and data is stored in the data block when the status code of the entry matches the store flag status code. The found entry status code is advanced once, and if the entry is last in the buffer list the store flag status code is advanced twice. Similarly, when retrieving data from the data buffer, locating a desired entry in the buffer list with a full status code by traversing the buffer list, calculating the address of each entry using the partial address in the previous entry, until the desired entry is found. The address of the data block corresponding to the found entry is calculated and data is retrieved from the data block when the status code of the entry matches the retrieve flag status code. The found entry status code is advanced once, and if the entry is last in the buffer list the retrieve flag status code is advanced twice.
公开/授权文献
信息查询