bloggerads

2015年8月20日 星期四

SATA : PMP (Port Multiplier)

這份spec常常被人遺忘,但她又確確實實定義在AHCI和SATA裡,先不論市場的接受度如何,相信做碟機相關技術的朋友都很好奇這個是什麼。

首先先看看spec所給的架構圖:


2015年8月12日 星期三

DRAM overview

每周部門meeting都會討論各function owner的issue,然後幾乎都是一堆DRAM的issue。
我自己也不是很懂,不過我把比較常聽到同事講的東西加上自己的理解寫一篇來分享

1. DRAM Data的寬度是 8 bytes (64bits)/ 含有ECC的則是72bits

2. Channel/Rank/記憶體顆粒的解釋:
  1. 1個channel可以有很多Dimm, 但每個channel有支援Rank的數量限制 (如H61/H81單一Channel只能接受2個Rank)
  2. 1條Dimm可以有很多Rank. (一條記憶體目前最多是有4個Rank)
  3. 1個Rank資料寬度是64bit, 由許多記憶體顆粒組成這個資料寬度, 1個記憶體顆粒資料寬度可能是8bit, 16bit,.同一個Rank上的記憶體顆粒他們的CS都是接在一起。
  4. bank則是cell 組成的二維陣列(Row & Column), 使用控制訊號為BA0, BA1,.
3. DRAM 頻率的算法
  • IO clock (或稱Bus clk, 外頻) = Memory clock (或稱Internal clk, 內頻)* 1或2或4或8 (要看是DDR或DDR2或DDR3或DDR4)
  • Data rate (數據速率) = Memory clock * 2或4或8或16 (要看是DDR或DDR2或DDR3或DDR4)
  • ex: 模組名稱: PC3-6400 (DDR3-800): IO clock=400MHz(因為是double date rate), 記憶體clock=100MHz, 數據速率=800MT/s
4. Bios會透過SMBUS讀取每根Dimm上的SPD來知道他的大小、資料寬度、速度以及電壓

5. Bank Interleaving技術: 原理是將奇數位址和偶數位址分在不同bank,減少讀寫當前字元而影響下一個字元的時間

6. CPU 至 DRAM 顆粒層級由大至小為 channel>DIMM>rank>chip>bank>row/column

2015年8月1日 星期六

UEFI : ROM 格式

相關設定請參考 .fdf (Flash Description Files)檔案

UEFI對於ROM的格式,可以分為下面幾項:(由大集合到小集合)

 Firmware Device (FD):
Bios Rom即是一個 FD, 一個FD可以由多個FV組成
 Firmware Volume (FV):
每個FV通常是由一個 header+N個Firmware Files所組成, 一般說的Boot Firmware Volume/ Recovery Firmware Volume/ Main Firmware Volume就是以這個為單位, FV的細部定義如下: