系統管理
1824363 會員
3266 線上
109669 解決方案
發表新文章

Sync IO question

 
watermelonyu
教授

Sync IO question

Hi,

Synchronous Disk IO:

When a program makes an I/O request,this program waits until the I/O request completes and control is passed back to the program.



我們有 HP XP 256 其 cache memory 為 4GB,文件上說:

The XP 256 disk array places all read and write data in cache.



就 sync IO 而言,一個 I/O request complete 是指何意思?是指資料已經寫到file

or 資料已經從 file 中讀出才算 I/O request complete?



就 sync IO 而言,一個 I/O request 送到

XP 256 的 cache memory 就算 complete

嗎?



Thks & Best Regards,

1則回覆 1
watermelonyu
教授

Sync IO question

就單指讀的動作, 從程式發動一個request, 透過HBA到storage, storage會將

這個request放到所謂的cache memory中, 接著再到另一塊shared memory

(放data的)去尋找是否這資料曾經被要求讀取過, 如果有, 則透過storage回應

request, 到HBA卡, 回OS, 再到程式, 到此, 為read的I/O request complete.

如果沒有, 則到disk去撈request的資料, 放到shared memory中後, 再接著上

述同樣的回應動作.



若指的是寫入的動作, 則當程式發動request要寫檔案時, 透過HBA卡, 將請求

送到storage後, 一樣將request放在cache memory, 接著把要寫的內容放在

shared memory中, 到此即算I/O request complete, 至於真正寫到disk system

, storage會自幾找時間寫到disk上.



可參考Storage的Cache Fast Write機制.