SPD

串列檢測

SPD全稱是SERIAL PRESENCE DETECT,翻譯為模組存在的串列檢測,是通過IIC串列介面的EEPROM對內存插槽中的模組存在的信息檢查的晶元。

目錄

簡介


SERIAL PRESENCE DETECT(模組存在的串列檢測)的縮寫。也即是通過IIC串列介面的EEPROM對內存插槽中的模組存在的信息檢查。這樣的話,模組有關的信息都必須記錄在EEPROM中。習慣的,我們把這顆EEPROM IC就稱為SPD了。為Serial Presence Detect 的縮寫,它是燒錄在EEPROM內的碼,以往開機時BIOS必須偵測memory,但有了SPD就不必再去作偵測的動作,而由BIOS直接讀取 SPD取得內存的相關資料。
SPD是一組關於內存模組的配置信息,如P-Bank數量、電壓、行地址/列地址數量、位寬、各種主要操作時序(如CL、tRCD、tRP、tRAS等)……它們存放在一個容量為256位元組的EEPROM(Electrically Erasable Programmable Read Only Memory,電擦除可編程只讀存儲器)中。
同主板的BIOS一樣,SPD也是可以刷新的。用Thaiphoon Burner這款軟體就能做到。
當主板上插有新舊兩條大小一致的內存導致系統不穩定,主板的BIOS又無法對兩條內存的頻率分別調整時,可以把性能弱的SPD刷到強的那條內存上,以提高穩定性。
注意:千萬不要把內存大小不同的SPD互相刷!DDR,DDR2DDR3的SPD也不能混刷。同BIOS的刷新一樣是有風險的,如果需要請在刷新前備份被刷的內存spd。
從某種意義上來說,SPD晶元是識別內存品牌的一個重要標誌。如果SPD內的參數值設置得不合理,不但不能起到優化內存的作用,反而還會引起系統工作不穩定,甚至死機。因此,很多普通內存或兼容內存廠商為了避免兼容性問題,一般都將SPD中的內存工作參數設置得較為保守,從而限制了內存性能的充分發揮;同時,如果兩條內存的SPD信息不一致,也可能導致兼容性問題,調整合適的SPD值才能確保最佳性能。通過刷新內存的SPD信息,可在兼容性及性能上得到一定的提升,刷新內存SPD參數必須保證源SPD參數的內存條與目標內存條所使用的內存顆粒較為接近,否則可能導致刷新后的內存條工作不穩定甚至無法工作。
專業人員常用專用設備或專用轉接頭配合編程器來刷新內存條的SPD數據,另外還可以利用軟體刷新內存SPD參數。如Thaiphoon Burner是一款內存SPD信息讀寫綠色軟體,它可以在無需拆機的情況下直接讀寫內存條的SPD信息。能識別由JEDEC分配的635個唯一生產ID,完全兼容DDR2內存。
當計算機開機時,串列存在檢查(SPD)為存儲在同步動態隨機訪問存儲器(SDRAM)內存模塊中電可擦除可編程只讀存儲器(EEPROM)晶元上的信息,它告訴基本輸入/輸出系統(BIOS)模塊的大小、數據寬度、速度以及電壓。BIOS使用該信息來合適配置內存以達到最好的可靠性和性能。如果內存模塊沒有SPD,BIOS則假定內存模塊的信息,在一些內存中,這麼處理不會有問題,但是SDRAM存儲器必須具有SPD,否則計算機可能根本不啟動,如果啟動了,假定的信息可能導致致命異常錯誤。
SPD出現以前,存儲器晶元通過并行存在檢查(PPD)來識別,PPD為各個信息位使用一個單獨的PIN,這意味著只能存儲內存模塊的速度和密度,因為引腳空間有限。SPD內存模塊上的EEPROM晶元只需要兩個引腳,從而可以存儲更多的信息。
SPD(Serial Presence Detect),筆者翻譯為“配置(存在位)串列探測”,而不是“連續存在探測”,如果單從字意上理解,後者的翻譯並沒有問題,但從其真正用意與工作方式來看,前者更準確一些。為什麼呢?下面具體說說。SPD是一組關於內存模組的配置信息,如P-Bank數量、電壓、行地址/列地址數量、位寬、各種主要操作時序(如CL、tRCD、tRP、tRAS等)……它們存放在一個容量為256位元組的EEPR(ElectricallyErasableProgrammableReadOnlyMemory,電擦除可編程只讀存儲器)中。實際上在SPD中,JEDEC規定的標準信息只用了128個位元組(還有128位元組,屬於廠商自己的專用區)。一般的,一個位元組至少對應一種參數,有的參數需要多個位元組來表述(如產品續列號,生產商在JEDEC組織中的代碼)。其中,一個位元組中的每個bit都可能用來表示這一參數的具體數值。由於SPD的信息很多,在此就不一一列出了,有興趣的讀者可以參閱相關文檔。