国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

更深的理解UPIU數據包的格式

SSDFans ? 來源:未知 ? 作者:李倩 ? 2018-06-11 09:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最佳留言者將獲得《深入淺出SSD》電子書一本

UPIU是命令、數據和狀態信息傳輸的載體,是UFS協議棧的靈魂。UPIU是有固定格式的數據包,我們分析數據包格式,有助于我們更深的理解UPIU以及整個UFS協議。這一章我們看看UPIU數據包的格式。

每個UPIU都有一個12字節的Header,再加上跟每個UPIU相關的域。一個UPIU(包括Header)最小為32字節,最大為65600字節。

我們看通用的Header,具體如下:

我們看看其中的一些域。

1. Transaction Type:就是指定該UPIU是前面12個UPIU中的哪一個,具體如下:

2. Flags:只對命令和其響應的UPIU有用,指定命令的屬性。

R: 如果該比特置起來,說明該命令是讀命令;

W: 如果該比特置起來,說明該命令是寫命令;

ATTR: 命令屬性域。UFS命令有simple ,ordered 和Head of Queue命令。

那么,這些命令有什么不一樣呢。

Simple command:就是一般的命令,設備收到這樣的命令無需特別處理,一般誰先到誰先執行。

Ordered command:設備收到這樣的命令,應該把該命令之前的命令都處理完,才能處理該命令。(明星出場,先清個場。)

Head of Queue command:設備收到該命令后,放到命令隊列的頭部,立刻執行。(又見插隊,這個沒有上過幼兒園吧,連基本的排隊意識都沒有。)

CP: 表示命令的優先級。1為高優先級,0為低優先級。注意,該比特只適合簡單命令(simple command)。

3. LUN: Logical Unit Number。UFS上層協議來自SCSI,它繼承了LU的概念,即把存儲物理空間劃分成若干個邏輯空間,每個邏輯空間都是從LBA 0開始,用LUN標識。主機在發命令或者請求時,應該在命令中指定該命令是發給哪個LU。LUN用以尋址。UFS的LU和NVMe中的Namespace一個概念。

4. Task Tag:UFS支持命令隊列,主機可以同時發送很多個命令給設備。為區分這些命令或者請求,主機需要為每個命令貼上標簽Tag。然后跟這個命令或者請求相關的數據UPIU和狀態UPIU,都具有跟這個命令UPIU一樣的Tag。

舉例:

對這個讀命令來說,COMMAND UPIU、所有的DATA IN UPIU和RESPONSE UPIU都具有同一個task tag。

5. Command Type:命令類型。UFS預期有三類命令:一是簡化的SCSI命令,二是UFS自己原生的命令,三就是用戶自定義命令。目前UFS的命令都是從別人家(SCSI)借來的,自己一個命令也沒有制定。如用戶無自定義命令,該域就是0(SCSI命令)。

6. Initiator ID: 主機的ID,手機系統中一般一個主機連接一個UFS設備,所以主機ID一般為0。

7. Response:設備告知主機命令或請求執行是否成功。

8. Status:設備返回命令執行狀態。對SCSI命令的狀態信息,UFS有如下狀態:

9. Query Function, Task Manag. Function:指定具體Query和Task Management功能。

任務管理器有如下功能(Function):

設備管理器有如下功能:

總的來說,就是讀寫設備屬性(Attributes)、標識(flags)和描述符(descriptors)。

關于設備屬性、標識和描述符,后面有專門章節講述。

10. Device Information:設備信息。該域往往跟該命令或者請求無關,屬于設備夾帶私貨。因為UFS主機和設備是主從關系,如果UFS主機沒有向設備發命令或者請求,UFS設備是不能主動向主機報告設備狀況的。如果UFS設備有特殊事件發生,它可以趁返回RESPONSE UPIU的時候把事件順帶告訴主機。所以該域只對RESPONSE UPIU有效。

以上是UPIU頭的基本信息,這個是所有UPIU都具有的。除此之外,每個UPIU有它獨有的其它信息,UFS spec上都有介紹,讀者可以自行閱讀。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據包
    +關注

    關注

    0

    文章

    270

    瀏覽量

    25600
  • UFS
    UFS
    +關注

    關注

    6

    文章

    113

    瀏覽量

    26372

原文標題:蛋蛋讀UFS之四:UPIU數據包格式

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32R030可以兼容BLE及XN297L數據包,請問這個XN297L數據包是什么?

    CW32R030可以兼容BLE及XN297L數據包,請問這個XN297L數據包是什么?
    發表于 01-20 06:37

    BLE 藍牙空中報文格式與解析(廣播

    BLE 廣播數據格式解析說明 ...... 矜辰所致
    的頭像 發表于 01-04 17:28 ?1880次閱讀
    BLE 藍牙空中報文<b class='flag-5'>格式</b>與解析(廣播<b class='flag-5'>包</b>)

    bk3633 usb 設備如何讀取主機向端點0 發送數據包

    bk3633 usb 設備如何讀取主機向端點0 發送數據包
    發表于 12-30 13:03

    使用nrf54L15的NORDIC藍牙芯片,通過串口發送一幀數據包時,會出現分包發送分析

    使用nrf54L15的NORDIC藍牙芯片,通過串口發送一幀數據包時,會出現分包發送分析,是什么原因呢
    發表于 11-17 15:52

    串口DMA接收數據包丟失怎么解決?

    RTT串口DMA接收數據,超過緩沖區后為什么會吞掉一個數據包呢,不能每次處理完后清除緩沖區數據嗎,感覺接收的數據是累計的,累計滿之后會重新覆蓋,在最后一個
    發表于 09-29 07:50

    請問DCTCP與DCUDP 的登錄數據包和心跳數據包與服務器端是如何交互的?

    DCTCP與DCUDP 的登錄數據包和心跳數據包與服務器端是如何交互的?
    發表于 08-06 06:29

    藍牙數據通道空口數據包

    格式上來說,藍牙數據包又分空包(empty packet)和普通數據包(data packet)兩種,空包格式如下。 ? 編輯 由圖可見,空包整個payload為空,故名空包。 普通
    發表于 06-03 10:51

    Bluetooth LE Packet格式

    LE只有一種packet格式,根據Access Address的不同,又區分兩種Packet類型:廣播數據包: 廣播Access Address 固定為0x8E89BED6 ,
    發表于 06-03 10:45

    Bluetooth LE Link Layer數據包全解析

    ,L2CAP,SMP和ATT等各層次,但link layer跟空口格式關系最緊密,掌握了Bluetooth LE packet的格式,就很容易理解Bluetooth LE link
    發表于 06-03 10:28

    能否使用兩個 FX3 設備實現 USB 數據包嗅探、插入和移除?

    能否使用兩個 FX3 設備實現 USB 數據包嗅探、插入和移除?如果需要,除了兩個 FX3 設備外,還需要哪些硬件(如果有的話)?
    發表于 05-26 07:16

    更改最大數據包大小時無法識別USB設備如何解決?

    將生產者 EP 端點描述符中的最大數據包大小從 1024 字節更改為 512 字節時,無法識別 USB 設備。 請告知如何解決這個問題。
    發表于 05-20 08:13

    使用CyU3PDmaChannelCommitBuffer提交超過1024字節數據時usb異常大怎么解決?

    你好,我正在嘗試使用fx3實現USB3Vision設備,但是當我使用CyU3PDmaChannelCommitBuffer函數提交超過1024字節數據時,主機獲取到的USB數據包變得非常大
    發表于 05-13 06:11

    當從接收DMA一次接收一個字節時,如何檢查是否已接收到任意長度的所有數據包呢?

    當從接收 DMA 一次接收一個字節時,如何檢查是否已接收到任意長度的所有數據包
    發表于 04-21 08:22

    為UART、MCXA142實現ISP通信的主機端,發送Ping數據包并收到預期的響應,發送和接收數據包的典型順序是什么?

    我想為 UART、MCXA142 實現 ISP 通信的主機端。我發送 Ping 數據包并收到預期的響應。發送和接收數據包的典型順序是什么? 此刻,我的照片是這樣的: 1. 發送 Ping 2. 接收 Ping 響應 3. 在成幀
    發表于 04-03 08:05

    為什么無法通過demo_feature_L2_bridge_vlan上的PFE轉發VLAN標記的以太網數據包

    - PC1 使用 ICMP 應答進行響應 對于第二個用例,我看不到正在路由的數據包。PC1 不響應 PC0 發送的 ARP 請求。我還嘗試發送硬編碼數據包(PC0 和 PC1 的 src 和 dst
    發表于 03-25 08:05