女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

    文章

    269

    瀏覽量

    24882
  • UFS
    UFS
    +關注

    關注

    6

    文章

    109

    瀏覽量

    24823

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    藍牙數據通道空口數據包

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

    Bluetooth LE Link Layer數據包全解析

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

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

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

    I2C總線數據包結構詳解

    。以下是I2C總線數據包結構的詳解: 一、I2C總線數據包的基本組成 I2C總線上的數據傳輸以數據包為單位進行,每個數據包包含起始信號、設備
    的頭像 發表于 01-17 15:46 ?664次閱讀

    mtu配置步驟詳解 mtu與數據包丟失的關系

    MTU(Maximum Transmission Unit)即最大傳輸單元,是指一種通信協議的某一層上面所能通過的最大數據報大小,單位是字節。MTU配置步驟及其與數據包丟失的關系如下: MTU配置
    的頭像 發表于 12-16 14:33 ?2287次閱讀

    華納云:服務器平均響應時間和數據包大小之間的影響

    服務器的平均響應時間與數據包大小有一定的關系,但這只是影響響應時間的眾多因素之一。具體來說,數據包大小對服務器響應時間的影響可以從以下幾個方面來理解: 1.數據傳輸時間 影響: 較大的
    的頭像 發表于 10-10 14:01 ?547次閱讀

    艾體寶干貨 OIDA之四:掌握數據包分析-分析的藝術

    本文是OIDA方法系列的最后一部分,重點介紹了數據包分析的“分析”階段。這一最后階段將剖析階段的精煉數據轉化為可操作的見解,使網絡管理員和安全專業人員能夠解決問題、優化性能并增強安全性。分析是實現數據包檢查真正價值的地方,它將原
    的頭像 發表于 09-24 11:47 ?412次閱讀
    艾體寶干貨 OIDA之四:掌握<b class='flag-5'>數據包</b>分析-分析的藝術

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

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

    esp8266怎么做才能每秒發送更多的數據包呢?

    數據包的速度,即每秒大約 50 個 UDP 數據包。高波特率唯一改變的是,在數據包較大的情況下,我可以以與輕量級數據包相同的速度發送數據包。
    發表于 07-22 08:00

    使用AT SAVETRANSLINK時UDP數據包丟失怎么解決?

    Android 發送一個小 UDP 數據包(5 字節)。這個小數據包被我的微控制器在UART上接收到。微控制器將更大的數據包(可變長度,約 100 字節)發送回 UART。ESP在UART上接
    發表于 07-18 07:17

    在Iphone4上運行UDP接收器,數據包丟失怎么解決?

    ;255.255.255.255\",48899 現在使用 AT CIPSEND 每秒發送 1 個數據包 并非所有的Iphone似乎都受到嚴重的影響,但Iphone4是最糟糕的。 在
    發表于 07-18 06:56

    能否在ESP結束之前通過串行端口停止傳入的UDP數據包的傳輸以解析下一個UDP數據包?

    我正在做一個artnet節點, 它收到幾個 UDP 廣播數據包,工作正常,但是: 其中一些必須使用,其中一些必須丟棄, mi問題是:所有傳入的數據包都出現在帶有IPD命令的串行端口上, 并且我需要
    發表于 07-16 06:18

    請問如何使用AT CIPSEND或AT CIPSENDBUF發送多個數據包

    我可以使用 AT CIPSEND 發送單個數據包。但是我必須發送一系列二進制數據包。如何使用AT CISEND或AT CIPSENDBUF發送多個數據包,什么是正確的算法? 到目前為止,我嘗試
    發表于 07-15 07:37

    NONOS如何檢查是否實際發送了UDP數據包?

    我發現進入深度睡眠通常無法傳輸發送的最后一個 UDP 數據包。我現在將睡眠延遲 30 毫秒,這是一個黑客。 我寧愿有一種方法來檢查是否可以休眠,或者以其他方式能夠注冊指示數據包已發送的回調(無線電發送緩沖區為空)。 說清楚:我需要知道是 ESP 發送了它,而不是像 U
    發表于 07-12 06:14

    例程simple_sniffer接收wifi數據包時老是丟,有什么改進辦法?

    您好! 在用例程simple_sniffer接收wifi數據包時老是丟,是否有什么改進辦法? 謝謝
    發表于 06-26 07:41