emmc 技 術 應 用 前 言 emmc (Embedded MultiMediaCard) 是 嵌 入 式 多 媒 體 卡 的 縮 寫, 由 MMC 協 會 (MultiMediaCard Association) 所 訂 立 的 嵌 入 式 記 憶 體 標 準 規 格, 主 要 針 對 行 動 裝 置 產 品 為 主, 如 手 機 智 慧 型 手 機 平 板 電 腦 筆 記 型 電 腦 等 等 ; 這 些 產 品 它 們 都 需 要 輕 薄 的 機 身, 因 此 有 減 少 使 用 零 組 件 面 積 的 需 求,eMMC 便 因 此 而 誕 生! emmc 簡 化 了 記 憶 體 的 設 計, 使 用 多 晶 片 封 裝 (MCP) 技 術, 把 NAND Flash 晶 片 和 控 制 晶 片 (Control chip) 封 裝 在 一 起, 打 成 單 一 顆 晶 片, 如 此 便 可 以 省 下 零 組 件 並 增 加 電 路 板 面 積 emmc 結 構 emmc 架 構 是 由 一 個 嵌 入 式 儲 存 方 案 所 組 成, 內 部 結 構 帶 有 MMC 介 面 NAND Flash 以 及 Control 所 組 成, 經 由 BGA 封 裝 在 一 顆 小 型 的 晶 片 上 簡 單 來 說,HOST processor 只 需 要 透 過 MMC BUS 下 達 命 令 即 可, 不 需 要 任 何 記 憶 體 管 理 方 面 的 演 算 法 (ECC Wear-Leveling BBM) 的 計 算, 這 些 都 已 經 交 給 了 與 NAND Flash 封 裝 在 一 起 的 Control chip, 這 對 研 發 團 隊 來 說 無 疑 是 降 低 研 發 成 本 的 好 方 法 圖 一 : emmc 結 構 1
emmc 規 格 emmc 傳 輸 速 度 高 達 52MB/s, 電 壓 範 圍 為 1.8v 至 3.3v, 具 備 高 速 且 可 升 級 的 特 性 制 定 規 格 上,eMMC 4.2 制 訂 了 emmc 介 面 速 度 及 容 量, 介 面 速 度 為 52MB/s 容 量 規 格 則 大 於 2GB 到 了 emmc 4.3 則 新 增 Booting Function Explicit Sleep Mode Reliable Write 等 功 能 而 目 前 最 新 的 emmc 4.4 更 強 化 雙 倍 記 憶 體 介 面 效 能 (DDR), 使 原 本 定 義 的 52MB/s 速 度 提 升 到 100MB/s 以 上, 效 能 提 高 2 倍, 此 外 還 加 入 了 彈 性 分 區 管 理 概 念 (Multiple Partitioning), 將 晶 片 定 義 為 High Density 及 High Performance 兩 個 部 份, 可 將 程 式 碼 和 系 統 資 料 放 在 High Performance 區 塊, 如 此 一 來 便 可 以 更 有 彈 性 的 使 用 區 塊 容 量, 而 且 在 emmc 4.4 還 增 加 了 防 寫 的 功 能, 提 高 資 料 安 全 性 表 一 和 圖 二 為 MMC 接 腳 名 稱 表 與 外 觀 圖 接 腳 名 稱 1 Data3 2 Command 3 VSS 4 VDD 5 Clock 6 VSS(2) 7 Data0 8 Data1 9 Data2 10 Data4 11 Data5 圖 二 : MMC 外 觀 12 Data6 13 Data7 表 一 : MMC 接 腳 與 名 稱 2
emmc 的 特 性 及 優 勢 Has these System Voltage (VDD) Ranges : High Voltage MultiMediaCard Dual Voltage MultiMediaCard Communication 2.7-3.6 1.70-1.95, 2.7-3.6 (Note 1) Memory Access 2.7-3.6 1.70-1.95, 2.7-3.6 NOTE 1 VDD range: 1.95V - 2.7V is not supported. Ten-wire bus (clock, 1 bit command, 8 bit data bus) and a hardware reset. - Clock frequencies of 0-200MHz - Three different data bus width modes: 1-bit, 4-bit, and 8-bit Data protection Mechanisms (Write Protection Types) : - Password ( 密 碼 保 護 功 能 ) - Permanent( 永 久 性 保 護 ) - Power-On( 上 電 保 護 ) - Temporary( 暫 時 性 寫 入 資 料 保 護 ) Different types of error protected read and write modes( 兩 種 讀 寫 模 式 ): - Single Block( 單 塊 讀 寫 ) - Multiple Block( 多 塊 讀 寫 ) Data Removal Commands( 三 種 抹 除 資 料 命 令, 以 Block 為 單 位 ): - Erase( 抹 除 映 射 裝 置 位 址 的 資 料 ) - Trim( 是 寫 入 Block, 而 非 抹 除 區 塊 ) - Sanitize( 物 理 移 除, 刪 除 未 映 射 使 用 的 位 址 資 料 ) Enhance host and device communication techniques to improve performance - Power Off Notification ( 斷 電 告 知 ) - High Priority Interrupt ( 高 優 先 中 斷 HPI) - Background Operations ( 後 台 操 作 ) - Partitioning( 分 區 管 理 ) - System data tagging ( 系 統 資 料 標 記 功 能 ) Introduces dual data rate transfer (DDR mode) 3
emmc 操 作 模 式 所 有 Host 與 Card 之 間 的 傳 輸 控 制 都 是 統 一 由 HOST 來 控 制, 而 HOST 發 送 控 制 命 令 有 分 為 兩 種 廣 播 和 位 址 ( 點 對 點 傳 輸 ) 廣 播 命 令 模 式 Broadcast commands 顧 名 思 義, 就 是 HOST 發 送 一 個 命 令 給 所 有 的 MMC 卡, 而 某 些 卡 則 會 對 這 命 令 做 出 回 應 位 址 命 令 模 式 Addressed (point-to-point) commands 可 以 理 解 成 直 接 命 令, 也 就 是 說 Host 直 接 對 某 張 MMC 卡 下 一 個 命 令, 而 卡 針 對 此 命 令 直 接 做 反 應 emmc的 五 種 操 作 模 式 : 開 機 模 式 ID 辨 識 模 式 中 斷 模 式 資 料 傳 輸 模 式 無 效 模 式 ( 如 表 二 ) 開 機 模 式 Boot mode Power ON 後, 卡 若 收 到 CMD0(GO_Idle_State) 並 帶 argument(0xf0f0f0f0), 此 時 Card 若 支 援 Boot mode 則 會 進 入 Boot mode, 否 則 進 入 identification mode ID 辨 識 模 式 Card identification mode Power ON 後, 經 過 Boot mode 完 成 或 不 支 援 Boot mode,card 都 將 會 進 入 此 模 式 持 續 等 待 收 到 Host 下 CMD3(Send_Relative_Address) 中 斷 模 式 Interrupt mode Host 和 Card 會 同 時 進 入 此 模 式, 此 模 式 中 不 會 做 Data Transfer, 只 允 許 Host or Card 送 出 interrupt service request 資 料 傳 輸 模 式 Data transfer mode 當 卡 收 到 由 Host 所 給 予 的 RCA, 這 時 卡 便 會 進 入 Data transfer mode, 等 待 讀 寫 動 作 指 令 無 效 模 式 Inactive mode 當 Card 若 為 電 壓 不 符 規 定 或 插 入 方 式 無 效 時 便 會 進 入 此 模 式, 亦 可 使 用 CMD15(GO_INACTIVE_ STATE ) 命 令 使 一 個 已 標 識 的 Card 進 入 非 活 動 狀 態 4
裝 置 狀 態 (Card) 操 作 模 式 排 線 模 式 Inactive State Pre-Idle State Pre-Boot State Idle State Ready State Identification State Stand-by State Sleep State Transfer State Bus-Test State Sending-data State Receive-data State Programming State Disconnect State Boot State Inactive mode Boot mode Device identification mode Data Transfer mode Boot mode Open-drain ( 低 電 位 輸 出 ) Push-pull ( 高 電 位 輸 出 ) Wait-IRQ State Interrupt mode Open-drain 表 二 : 操 作 模 式 與 裝 置 狀 態 對 照 表 目 前 emmc 4.5 Specification 定 義 了 4 種 速 度 模 式, 如 表 三 所 示 模 式 名 稱 Mode Name 數 據 傳 輸 模 式 Data Rate 電 壓 I/O Voltage 資 料 寬 度 Bus Width(bit) 時 脈 頻 率 CLK Frequency 最 大 資 料 傳 輸 量 Max Data Transfer (implies x8 Bus width) Backwards Compatibility with legacy MMC card Single 3/1.8/1.2V 1, 4, 8 0-26MHz 26MB/s High speed SDR Single 3/1.8/1.2V 4, 8 0-52MHz 52MB/s High Speed DDR Dual 3/1.8/1.2V 4, 8 0-52MHz 104MB/s HS200 Single 1.8/1.2V 4, 8 0-200MHz 200MB/s 表 三 : 4 種 速 度 模 式 5
圖 三 : emmc 卡 上 電 後 狀 態 流 程 (Identification mode) 一 般 emmc 上 電 後, 若 沒 進 入 Boot mode 則 會 立 即 進 入 Identification flow, 此 時 Host (Card Reader or Processor) 會 立 即 下 達 CMD1 (Command 1) 給 Device (Card), 詢 問 閒 置 的 裝 置 其 工 作 條 件 為 何, 此 時 Device 會 回 給 Host 兩 種 狀 態 Busy or Ready, 若 Device 回 應 Busy 則 Host 會 一 直 不 停 的 下 CMD1 直 到 Device 回 應 Ready 並 回 應 其 CMD1 所 請 求 的 資 料, 之 後 便 是 連 續 兩 道 命 令 CMD2 與 CMD3,CMD2 請 求 CID number,cmd3 為 Host 給 予 Device RCA 位 子, 至 此 Device 便 完 成 了 與 Host 基 本 註 冊 可 以 開 始 進 行 資 料 傳 輸 此 時 Device 進 入 Data Transfer Mode 狀 態 為 Stand-by, 等 待 Host 下 達 任 何 資 料 傳 輸 或 特 殊 命 令 6
emmc 封 包 與 響 應 封 包 (Packet):eMMC 協 定 中 共 有 五 種 數 據 封 包, 分 別 是 Command Response Block CRC Status 和 Busy, 詳 述 如 下 : - Command: 一 律 由 Host 下 達, 並 可 帶 參 數 的 命 令 - Response:Device 對 Host 發 出 Command 所 做 的 響 應, 內 部 參 數 表 示 該 Device 現 階 段 的 狀 態 為 何 - Block:eMMC 的 傳 輸 協 定 中 的 基 本 單 位, 所 有 數 據 資 料 都 會 封 裝 在 Block 裡 傳 輸 - CRC Status : 此 數 據 封 包 通 常 在 寫 入 Block 後 出 現, 用 來 通 知 Host 寫 入 Block 的 結 果 - Busy: 此 數 據 資 料 通 常 在 寫 入 Block 後 出 現, 用 來 通 知 Host 該 Device 目 前 處 於 忙 碌 狀 態, 無 法 寫 入 下 一 個 Block 響 應 (Responses): 所 有 響 應 均 是 Device 接 受 到 Host 命 令 之 後 所 發 送 的, 而 響 應 內 容 的 長 短 取 決 於 響 應 的 種 類 基 本 的 響 應 結 構 為 Start bit - Transmission bit Content bits CRC bits - End bit, 如 圖 三 所 示 emmc 協 定 中 共 有 5 種 響 應 種 類, 分 別 是 R1 R2 R3 R4 與 R5, 詳 細 內 容 如 下 : 圖 四 : 基 本 響 應 封 包 結 構 7
- R1 (normal response command): 總 長 48 bit,[ 45 : 40 ] 代 表 回 應 的 CMD 數 值,[ 39 : 8 ] 則 是 表 示 Device 現 在 的 狀 態 R1 還 有 另 ㄧ 個 格 式 為 R1b, 結 構 與 R1 相 同, 不 過 增 加 了 可 選 擇 的 BUSY 信 號 - R2 (CID, CSD register): 總 長 136 bit, 主 要 是 響 應 回 報 CID 與 CSD 暫 存 器 的 內 容,CID register 分 別 對 應 CMD2 與 CMD10, 而 CSD register 則 是 對 應 CMD9 - R3 (OCR register): 總 長 48 bit, 主 要 響 應 回 報 ORC 暫 存 器 的 內 容, 只 有 當 Host 下 CMD1 時,Device 響 應 的 格 式 內 容 就 是 R3 - R4 (Fast I/O): 總 長 48 bit, 主 要 用 於 要 寫 入 和 讀 出 某 個 暫 存 器 8bit 的 區 段 資 料, 只 有 當 Host 下 CMD39,Device 響 應 的 格 式 內 容 就 是 R4 - R5 (Interrupt request): 總 長 48 bit, 此 響 應 為 中 斷 請 求 的 響 應 格 式, 只 有 當 Host 下 達 CMD40 命 令 某 張 卡 必 須 進 入 中 斷 模 式 時,Device 若 確 實 收 到 並 回 應 此 R5 響 應, 則 代 表 此 卡 進 入 中 斷, 並 且 RCA 被 設 置 為 0x0 8
emmc 傳 輸 模 式 分 別 是 1 位 元 Bus 上 升 緣 取 樣 (1 bit SDR) 4 位 元 Bus 上 升 緣 取 樣 (4 bits SDR) 8 位 元 Bus 上 升 緣 取 樣 (8 bits SDR) 4 位 元 Bus DDR 與 8 位 元 Bus DDR, 這 五 種 均 是 用 Block 為 單 位 作 數 據 傳 輸, 五 種 傳 輸 模 式 示 意 圖 如 下 : 1 bit Bus SDR (Single Data Rate): 上 升 緣 取 樣 只 需 使 用 一 個 資 料 信 號 腳 (Data 0) 即 可 4 bit Bus SDR: 上 升 緣 取 樣 需 使 用 四 個 資 料 信 號 腳 (Data 0 ~ Data 3) 9
8 bit Bus SDR: 上 升 緣 取 樣 需 使 用 八 個 資 料 信 號 腳 (Data 0 ~ Data 7) 4 bit Bus DDR (Double Data Rate) : Block 和 CRC 在 CLK 的 上 升 緣 與 下 降 緣 被 取 樣, 而 起 始 位 和 結 束 位 元 只 有 在 上 升 緣 被 取 樣 10
DDR 的 取 樣 方 式 如 下 圖 所 示, 它 會 依 照 CLK 的 上 下 升 緣 作 資 料 的 擷 取, 進 而 達 到 雙 倍 的 資 料 傳 輸, 這 邊 要 注 意, 只 有 一 開 始 與 結 束 bit 是 上 升 緣 擷 取,Data 以 及 CRC 的 資 料 皆 是 上 下 緣 擷 取 8 bit Bus DDR (Double Data Rate): 使 用 八 個 資 料 信 號 腳 (Data 0 ~ Data 7), 資 料 傳 輸 模 式 如 同 4 bit Bus DDR 11
emmc 實 際 量 測 與 信 號 追 蹤 孕 龍 科 技 邏 輯 分 析 儀 所 研 發 的 emmc 匯 流 排 分 析 模 組 可 協 助 工 程 師 測 量 emmc 訊 號 封 包, 您 只 須 將 邏 輯 分 析 儀 測 試 線 接 上 emmc 轉 版 即 可 進 行 信 號 量 測, 搭 配 人 性 化 軟 體 介 面 可 快 速 解 析 追 蹤 任 何 emmc Command Response 以 及 Data 訊 號 資 料, 幫 助 工 程 師 加 快 研 發 專 案 速 度 圖 五 : 讀 卡 機 與 emmc 轉 板 並 接 上 測 試 線, 透 過 邏 輯 分 析 儀 進 行 量 測 12
依 照 表 四 MMC 卡 接 腳 名 稱, 將 Command Clock Data0~Data7 分 別 接 至 孕 龍 邏 輯 分 析 儀 的 A0 A1 A2 A3 A4 A5 A6 A7 B0 B1, 如 圖 六 所 示 接 腳 名 稱 1 Data3 2 Command 3 VSS 4 VDD 5 Clock 6 VSS(2) 7 Data0 8 Data1 9 Data3 10 Data4 11 Data5 12 Data6 13 Data7 表 四 圖 六 圖 七 : 使 用 孕 龍 科 技 邏 輯 分 析 儀 量 測 emmc CMD 13
圖 八 : 使 用 孕 龍 科 技 邏 輯 分 析 儀 量 測 emmc Data 14
emmc 匯 流 排 分 析 模 組 介 紹 孕 龍 科 技 邏 輯 分 析 儀 emmc 匯 流 排 分 析 模 組 可 支 援 分 析 emmc 匯 流 排 中 的 Command 及 Data 部 分, 使 用 者 僅 需 在 匯 流 排 設 定 視 窗 中 進 行 設 定 即 可 使 用, 整 個 設 定 可 以 分 成 四 個 區 塊, 分 別 為 解 碼 格 式 通 道 解 碼 與 匯 流 排 協 定 顏 色 設 定, 設 定 畫 面 如 圖 九 所 示 圖 九 : 孕 龍 科 技 邏 輯 分 析 儀 emmc 匯 流 排 分 析 模 組 設 定 視 窗 15
解 碼 格 式 : 選 擇 emmc 的 資 料 傳 輸 模 式, 這 關 乎 邏 輯 分 析 儀 在 解 碼 資 料 時 是 否 正 確 通 道 設 定 : 可 設 定 分 析 emmc 時 與 邏 輯 分 析 儀 連 接 的 通 道 方 向, 務 必 連 接 正 確 解 碼 設 定 : 這 邊 可 以 設 定 Bus 為 CMD 線 解 碼 還 是 Data 線 解 碼, 在 Data 解 碼 部 份 記 得 要 設 定 一 個 Block 長 度 為 多 少 的 Byte(Rang:2 ~ 16k Byte) 匯 流 排 協 定 顏 色 設 定 : 可 設 定 匯 流 排 中 各 種 封 包 顏 色 設 定, 方 便 使 用 者 視 狀 況 調 整 顏 色 16
使 用 者 若 需 同 時 分 析 Command 及 Data 狀 況, 則 可 透 過 孕 龍 邏 輯 分 析 儀 軟 體 設 定 兩 組 匯 流 排 解 碼, 一 為 分 析 Command 另 一 則 分 析 Data 設 定 步 驟 : 步 驟 1. 先 至 軟 體 功 能 表 中 點 選 信 號 再 選 擇 信 號 通 道 設 定 步 驟 2. 開 啟 訊 號 通 道 設 定 視 窗 後 將 分 別 點 選 兩 個 通 道 的 A0 A1 A2 A3 A4 A5, 設 定 完 成 如 圖 十 及 圖 十 一 所 示 可 直 接 在 此 設 定 匯 流 排 名 稱 直 接 用 滑 鼠 點 擊 訊 號 腳 圖 十 : 設 定 信 號 通 道 17
CMD Bus 解 碼 DATA Bus 解 碼 圖 十 一 : 設 定 同 時 分 析 Command 及 Data 18
實 際 應 用 案 例 CMD Tracing and Debug Program 在 某 個 emmc 開 發 專 案 裡, 假 若 工 程 師 已 經 把 Code 完 整 寫 好 也 通 過 程 式 的 Compile, 基 本 的 讀 寫 測 試 也 OK, 但 在 特 定 位 子 讀 寫 資 料 時 卻 發 生 資 料 有 誤 的 問 題, 那 麼 除 了 使 用 輔 助 軟 體 (Hex Editor or Ultra Edit ) 觀 察 錯 誤 資 料 外, 還 有 什 麼 更 好 的 辦 法 進 行 資 料 偵 錯 呢? 這 時 如 果 您 有 使 用 孕 龍 的 邏 輯 分 析 儀, 就 可 以 直 接 操 作 使 用, 追 蹤 某 一 CMD Address 或 Data, 任 何 你 想 追 蹤 的 封 包 資 料 都 可 進 行 擷 取, 直 接 幫 你 快 速 進 行 Debug 下 圖 為 透 過 追 蹤 特 定 的 CMD 進 而 找 出 資 料 有 誤 的 bug 步 驟 1. 追 蹤 CMD25 (WRITE_MULTIPLE_BLOCK), 擷 取 寫 入 的 資 料 步 驟 2. 找 尋 特 定 位 址 Address 0x60000, 以 便 觀 看 後 面 資 料 寫 入 狀 態 19
步 驟 3. 使 用 封 包 列 表 顯 示 再 搭 配 封 包 與 波 形 同 步 功 能, 可 直 接 快 速 幫 你 做 同 步 顯 示 分 析, 直 接 分 析 兩 筆 同 位 址, 但 寫 入 資 料 卻 完 全 不 同 的 結 果 差 異 處 好 壞 資 料 直 接 作 比 較 圖 十 二 : 找 出 寫 入 資 料 的 不 同 20
總 結 近 年 由 於 智 慧 型 手 機 平 板 電 腦 與 筆 記 型 電 腦 的 興 起, 直 接 反 應 在 傳 統 的 多 晶 片 封 裝 (MCP) 與 emmc 需 求 大 量 增 加, 各 研 發 團 隊 除 了 對 CPU 效 能 有 更 高 的 要 求 之 外, 對 於 內 建 式 的 NAND Flash 儲 存 容 量 需 求 也 相 對 提 高 不 少 自 2007 年 發 表 第 一 代 iphone 造 成 全 球 狂 銷 熱 賣 帶 動 下, 更 多 手 機 開 發 商 加 入 開 發 內 建 式 儲 存 的 智 慧 型 手 機 設 計, 而 最 新 的 iphone 4 更 是 直 接 捨 棄 傳 統 式 MCP 模 組 直 接 採 用 最 新 emmc! emmc 後 勢 必 將 持 續 看 漲 孕 龍 科 技 的 PC-Based 邏 輯 分 析 儀 已 經 擁 有 近 百 種 匯 流 排 解 碼 模 組, 可 以 幫 助 研 發 工 程 師 在 分 析 匯 流 排 訊 號 時, 可 直 接 透 過 軟 體 將 收 進 來 的 訊 號 自 動 解 碼, 方 便 工 程 師 快 速 進 行 訊 號 分 析 驗 證, 促 進 系 統 最 佳 化, 並 加 速 專 案 進 度 流 程, 讓 產 品 及 早 問 世, 工 程 師 不 必 再 面 對 示 波 器 慢 慢 的 手 動 解 碼, 孕 龍 的 邏 輯 分 析 儀 將 是 您 分 析 訊 號 的 最 佳 伙 伴 關 於 更 多 匯 流 排 介 紹 請 至 孕 龍 科 技 官 網 網 站 www.zeroplus.com.tw, 或 者, 您 可 以 至 孕 龍 官 網 註 冊 成 為 我 們 的 會 員, 就 會 不 定 期 收 到 更 多 的 技 術 分 析 報 導, 讓 您 輕 鬆 掌 握 最 新 技 術 資 訊 儀 器 事 業 處 / 客 服 工 程 課 蔡 耀 緯 21