一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

更深的理解UPIU數(shù)據(jù)包的格式

SSDFans ? 來源:未知 ? 作者:李倩 ? 2018-06-11 09:43 ? 次閱讀

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

UPIU是命令、數(shù)據(jù)和狀態(tài)信息傳輸?shù)妮d體,是UFS協(xié)議棧的靈魂。UPIU是有固定格式的數(shù)據(jù)包,我們分析數(shù)據(jù)包格式,有助于我們更深的理解UPIU以及整個UFS協(xié)議。這一章我們看看UPIU數(shù)據(jù)包的格式。

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

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

我們看看其中的一些域。

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

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

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

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

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

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

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

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

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

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

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

4. Task Tag:UFS支持命令隊列,主機可以同時發(fā)送很多個命令給設備。為區(qū)分這些命令或者請求,主機需要為每個命令貼上標簽Tag。然后跟這個命令或者請求相關的數(shù)據(jù)UPIU和狀態(tài)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,手機系統(tǒng)中一般一個主機連接一個UFS設備,所以主機ID一般為0。

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

8. Status:設備返回命令執(zhí)行狀態(tài)。對SCSI命令的狀態(tài)信息,UFS有如下狀態(tài):

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

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

設備管理器有如下功能:

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)包

    關注

    0

    文章

    269

    瀏覽量

    24826
  • UFS
    UFS
    +關注

    關注

    6

    文章

    108

    瀏覽量

    24650

原文標題:蛋蛋讀UFS之四:UPIU數(shù)據(jù)包格式

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    為UART、MCXA142實現(xiàn)ISP通信的主機端,發(fā)送Ping數(shù)據(jù)包并收到預期的響應,發(fā)送和接收數(shù)據(jù)包的典型順序是什么?

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

    I2C總線數(shù)據(jù)包結(jié)構詳解

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

    mtu配置步驟詳解 mtu與數(shù)據(jù)包丟失的關系

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

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

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

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

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

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

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

    esp8266怎么做才能每秒發(fā)送更多的數(shù)據(jù)包呢?

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

    使用AT SAVETRANSLINK時UDP數(shù)據(jù)包丟失怎么解決?

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

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

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

    能否在ESP結(jié)束之前通過串行端口停止傳入的UDP數(shù)據(jù)包的傳輸以解析下一個UDP數(shù)據(jù)包

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

    請問如何使用AT CIPSEND或AT CIPSENDBUF發(fā)送多個數(shù)據(jù)包?

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

    NONOS如何檢查是否實際發(fā)送了UDP數(shù)據(jù)包

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

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

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

    在AN65974中短數(shù)據(jù)包和零長數(shù)據(jù)包是什么意思?

    在 AN65974 中,短數(shù)據(jù)包和零長數(shù)據(jù)包是什么意思? 非常感謝!
    發(fā)表于 05-30 07:41

    如何在AIROC GUI上獲取良好數(shù)據(jù)包和總數(shù)據(jù)包

    使用 IQxel-MW LifePoint 作為發(fā)生器并發(fā)送波形BT_1DH5_00001111_Fs80M.iqvsg,但無法在 AIROC 工具中接收數(shù)據(jù)包。 以下是從 IQxel 發(fā)送
    發(fā)表于 05-22 06:39