|
UPIU是命令、數(shù)據(jù)和狀態(tài)信息傳輸?shù)妮d體,是UFS協(xié)議棧的靈魂。UPIU是有固定格式的數(shù)據(jù)包,我們分析數(shù)據(jù)包格式,有助于我們更深的理解UPIU以及整個(gè)UFS協(xié)議。這一章我們看看UPIU數(shù)據(jù)包的格式。 我們看通用的Header,具體如下: 我們看看其中的一些域。 1. Transaction Type:就是指定該UPIU是前面12個(gè)UPIU中的哪一個(gè),具體如下: 2. Flags:只對命令和其響應(yīng)的UPIU有用,指定命令的屬性。 R: 如果該比特置起來,說明該命令是讀命令; W: 如果該比特置起來,說明該命令是寫命令; ATTR: 命令屬性域。UFS命令有simple ,ordered 和Head of Queue命令。 那么,這些命令有什么不一樣呢。 Simple command:就是一般的命令,設(shè)備收到這樣的命令無需特別處理,一般誰先到誰先執(zhí)行。 Ordered command:設(shè)備收到這樣的命令,應(yīng)該把該命令之前的命令都處理完,才能處理該命令。(明星出場,先清個(gè)場。) Head of Queue command:設(shè)備收到該命令后,放到命令隊(duì)列的頭部,立刻執(zhí)行。(又見插隊(duì),這個(gè)沒有上過幼兒園吧,連基本的排隊(duì)意識(shí)都沒有。) CP: 表示命令的優(yōu)先級(jí)。1為高優(yōu)先級(jí),0為低優(yōu)先級(jí)。注意,該比特只適合簡單命令(simple command)。 3. LUN: Logical Unit Number。UFS上層協(xié)議來自SCSI,它繼承了LU的概念,即把存儲(chǔ)物理空間劃分成若干個(gè)邏輯空間,每個(gè)邏輯空間都是從LBA 0開始,用LUN標(biāo)識(shí)。主機(jī)在發(fā)命令或者請求時(shí),應(yīng)該在命令中指定該命令是發(fā)給哪個(gè)LU。LUN用以尋址。UFS的LU和NVMe中的Namespace一個(gè)概念。 4. Task Tag:UFS支持命令隊(duì)列,主機(jī)可以同時(shí)發(fā)送很多個(gè)命令給設(shè)備。為區(qū)分這些命令或者請求,主機(jī)需要為每個(gè)命令貼上標(biāo)簽Tag。然后跟這個(gè)命令或者請求相關(guān)的數(shù)據(jù)UPIU和狀態(tài)UPIU,都具有跟這個(gè)命令UPIU一樣的Tag。 舉例: 對這個(gè)讀命令來說,COMMAND UPIU、所有的DATA IN UPIU和RESPONSE UPIU都具有同一個(gè)task tag。 5. Command Type:命令類型。UFS預(yù)期有三類命令:一是簡化的SCSI命令,二是UFS自己原生的命令,三就是用戶自定義命令。目前UFS的命令都是從別人家(SCSI)借來的,自己一個(gè)命令也沒有制定。如用戶無自定義命令,該域就是0(SCSI命令)。 6. Initiator ID: 主機(jī)的ID,手機(jī)系統(tǒng)中一般一個(gè)主機(jī)連接一個(gè)UFS設(shè)備,所以主機(jī)ID一般為0。 7. Response:設(shè)備告知主機(jī)命令或請求執(zhí)行是否成功。 8. Status:設(shè)備返回命令執(zhí)行狀態(tài)。對SCSI命令的狀態(tài)信息,UFS有如下狀態(tài): 9. Query Function, Task Manag. Function :指定具體Query和Task Management功能。 任務(wù)管理器有如下功能(Function): 設(shè)備管理器有如下功能: 總的來說,就是讀寫設(shè)備屬性(Attributes)、標(biāo)識(shí)(flags)和描述符(descriptors)。 關(guān)于設(shè)備屬性、標(biāo)識(shí)和描述符,后面有專門章節(jié)講述。 10. Device Information:設(shè)備信息。該域往往跟該命令或者請求無關(guān),屬于設(shè)備夾帶私貨。因?yàn)閁FS主機(jī)和設(shè)備是主從關(guān)系,如果UFS主機(jī)沒有向設(shè)備發(fā)命令或者請求,UFS設(shè)備是不能主動(dòng)向主機(jī)報(bào)告設(shè)備狀況的。如果UFS設(shè)備有特殊事件發(fā)生,它可以趁返回RESPONSE UPIU的時(shí)候把事件順帶告訴主機(jī)。所以該域只對RESPONSE UPIU有效。 以上是UPIU頭的基本信息,這個(gè)是所有UPIU都具有的。除此之外,每個(gè)UPIU有它獨(dú)有的其它信息,UFS spec上都有介紹,讀者可以自行閱讀。 |
|
|