如何選擇正確的存儲器?

文章推薦指數: 80 %
投票人數:10人

談到設計存儲器時,沒有哪種規格適合所有人。

而且,考慮到大量的內存類型和使用場景,系統架構師必須非常清楚他們的應用的系統需求。

首先需要決定的是,是將存儲器置於邏輯晶片上,作為SoC的一部分,還是將其作為片外存儲器。

eSilicon公司業務和企業發展副總裁Patrick Soheili表示:「延遲和吞吐量的折中至關重要,而且功耗成本巨大。

每次你從一個平面移動到另一個平面時,它的係數是100X。

這也適用於片上存儲器vs片外存儲器。

如果你能挨個晶片地把它連在一起,那就最好了。

出於上述原因和其他原因,晶片製造商的第一選擇是在邏輯晶片上放置大量的RAM或flash。

但在大多數情況下,這還不夠。

即使是過去被定義為帶有片上存儲器的處理單元的微控制器,也已經開始為高端應用添加片外輔助存儲器。

Cadence公司DDR、HBM、flash/storage和MIPI IP的產品營銷總監Marc Greenberg表示:「如果邏輯晶片上的存儲器大小超過了可以較低價格生產的界限,使用片外存儲器顯然會是更好的選擇。

多個製造商都有基於SPI(串行外設接口)總線的一系列低成本、低功耗的存儲器,包括汽車速度等級的存儲器。

SPI總線正在提高速度並增加寬度。

事實上,Cadence看到了很多對200MHz的Octal-SPI IP接口的需求——包括控制器和PHY晶片。

為了更好地理解人們如何看待汽車或其他應用中存儲器的功耗設計,我們不妨後退一步,試著去了解存儲器的速度和功耗同整體帶寬的關係。

Synopsys公司DesignWare Analog和MSIP解決方案事業部高級市場總監Navraj Nandra表示:「在應用需求方面,當人們在提升微處理器/CPU性能時需要同步提升存儲器容量和存儲器帶寬。

但即使這是應用所要求的,你也很難二者同時兼得。

存儲器中需要在帶寬、延遲、功耗、容量和成本之間找到平衡點。

Nandra表示,工程師有時會忘記成本部分,但是它推動了很多決策點。

必須考慮存儲器的容量和速度,每種存儲器都有不同的折中。

如果應用是由速度或吉比特每秒的帶寬驅動的,那麼HBM可能是一種方法,因為它比DDR存儲器的帶寬要高得多。

如果應用以容量問題為主,例如存儲器接口可容納多少GB的存儲空間,那麼DDR可能是更好的選擇。

Nandra表示:「DDR提供容量,HBM提供帶寬。

如果問題是關於功耗的問題,那麼低功耗DDR比HBM或GDDR更好。

使用GDDR或HBM可以獲得更高的性能。

使用DDR和LPDDR可以省電。

嵌入式存儲器

如果存儲器作為SoC的一部分,那麼則需要在架構上多加考慮。

ARM公司的研究員Rob Aitken表示:「如果你考慮泄漏功耗,例如,SRAM的泄漏主要是位單元。

外圍也有所貢獻,但你可以在設計過程中忽略它。

如果你有一定數量的位單元,就會有一定的泄漏,所以你必須從那一點開始並解決它。

有一些電路設計技巧可以讓你擺脫其中的一些問題,這通常是以犧牲性能為代價的,而這往往這取決於你有多大的決心,。

其中一些包括對各種描述進行有效的偏置或功率控制,以及上述方法組合使用,以此來減少泄漏功耗。

在這一點上,很重要的一點是要理解,如果需要一定數量的位,並且存在這麼大的泄漏,系統架構師必須找出哪些配置最適合他們的各種存儲器。

Aitken表示:「考慮的因素包括位線長度等。

一般來說,位線越短,存儲器越快。

這是因為SRAM讀取的工作方式,本質上,單個位單元必須釋放位線,當它釋放的電荷足夠時,讀出放大器會觸發,並說,『哦,這裡有一個信號。

』因此,需要釋放的位線越多,所需要的轉換時間就越長。

幸運的是,對於任何給定的內存配置,我們可以在一系列可能性中做出選擇。

Aitken解釋說:「我可以擁有很多短位線或少量較長位線的存儲器,而這些字數和位數仍然完全相同。

這就是這些列在存儲器中的排列方式。

所以這個架構層次可以實現,存儲器生成器器可以讓你做到這一點。

你可以邊玩邊說,『我希望使用8列多路復用器』,即8位線到每個輸出位,因為它提供了速度和功耗的良好平衡。

或者你可以說,這實際上比你需要的速度快,所以你可以使用4列多路復用器,因為它提供了更好的功耗和良好的速度。

作為一名SoC架構師,你會經歷這種實驗,看看最佳實現方式是什麼,而且它們也會以不同的形式融入到平面布置圖中,因為其中一些更偏向正方形,有些更偏向矩形。

成本很重要

雖然功耗在一段時間內主導了許多設計決策,但成本是這個等式中的另一個關鍵因素。

Aitken表示:「從存儲器的角度看,你在考慮是否想要更多的面積,這相當於更高的成本。

有一些二階折中方案對於大容量存儲器很重要,比如位單元面積與外圍面積的比例。

一旦你選擇了一個比值,位單元區域就基本上固定了。

但是它的周邊區域可以變得更大或更小,這通常會使它更快或功耗更低。

當你這樣做的時候,是否會給SoC增加成本,取決於你有多少個給定的對象。

通常,當你觀察SoC時,有幾個非常大的對象支配該區域,因此周邊區域或性能的小改動會對這些對象產生巨大的影響。

有很多對象並不重要,即使它們的大小翻倍,也沒有人會注意到。

其次,還有另一類型通常是體系結構中的較小但很重要對象,這些對象具有某種最終性能要求、或超低電壓、或晶片的某些重要方面。

在這些情況下,面積和成本通常不那麼重要,更重要的是它需要符合速度標準、或泄漏功耗標準、或任何其他主導標準。

汽車市場的優先考慮因素

這在汽車市場尤其重要,因為成本是決定使用哪些組件的關鍵因素。

Rambus公司產品管理高級總監Frank Ferro表示:「功耗很重要,但在其他一些市場上,它並沒有成為一個超級關鍵因素。

功耗對每個人來說都很重要,但汽車系統實際上是成本與帶寬之間的折中。

如果我必須對它們進行排名,我會說性能和價格不分上下,而功耗則遠不及前兩者重要。

汽車是當今晶片設計的熱門市場之一。

對於自動駕駛汽車而言,正在汽車中部署的傳感器的數量正在迅速增加,而對於一輛汽車來說,要做到不同程度的駕駛員輔助功能,需要把多個傳感器獲得的數據輸入到複雜的邏輯電路中加以處理。

由於需要處理的數據量很大,因此在使用視覺和雷達的情況下,這些數據將通過傳感器網絡進行傳輸。

Ferro表示:「晶片製造商正在研究能夠處理高於100 Gbps或更高帶寬的存儲器系統,這樣可以適用於不同級別的駕駛輔助汽車,並最終實現自動駕駛汽車。

為了做到這一點,存儲器選擇的數量開始縮減,以便為你提供必要的帶寬來處理所有即將進入的數據。

Ferro表示:「早期的ADAS系統設計包括DDR4和LPDDR4,因為這些是當時可用的。

兩者都有優點和缺點。

DDR4顯然是最便宜的選擇,而且應用在產量最高的產品中。

它們當然非常划算,而且工程師非常熟悉它們。

在DDR4上進行錯誤校正更簡單,也更容易理解。

當然LPDDR4也是一個可以使用的選項。

展望未來,Ferro希望各種類型的存儲器能夠共存於不同的系統中。

「如果他們偏重成本導向,那麼他們將會關注DDR,甚至是LPDDR4。

但如果他們偏重帶寬導向,那麼他們將會關注像HBM或GDDR之類的東西。

這實際上是你在架構設計階段中所做的事情。

有不同的ADAS級別以及系統和時間表所需的級別,因為出貨時間很重要。

如果你今年有一個系統出貨,它的解決方案將會不同於明年或後年開發的系統。

這些就是我們在上市時間和成本上所需要考慮的事情。

其次,在高性能方面,從系統設計的角度來看,帶寬與功率的折中是關鍵挑戰。

Ferro表示:「如何以合理的功耗和面積預算獲得更大的帶寬?例如,如果你擁有HBM,從功耗和面積的角度來看,它非常高效,因為它使用3D堆疊技術,所以從功率效率的角度來看,HBM非常棒。

從面積的角度看,HBM堆疊占用了相對較小的空間,因此從功耗性能角度來看,這是一個非常好的解決方案。

你可以獲得很高的密度,你可以在一個小面積內獲得強大的性能,而且功耗很低。

其他人對此表示同意。

三星公司HBM產品營銷經理Tien Shiah表示:「GDDR在GPU上比DRAM快,但HBM沒有比較過。

HBM是使用微孔柵格陣列的最快存儲器形式。

您可以擁有4個或8個高堆疊,它可以提供1024個I/O,超過8個通道,每個通道128位。

這是標準顯卡的I/O總線寬度的四倍。

每個引腳可以達到2Gbps,在1.2V時可達到2.4Gbps。

圖1:三星的HBM2 DRAM 5 (來源:三星)

外部存儲器的吞吐量非常高。

但在這裡,主要需要權衡各種開銷。

Ferro表示:「你將為HBM付出更多的錢,所以如果你能承擔高成本,這是一個很好的解決方案。

如果你無法承受高成本,那麼其他公司正在考慮的是,他們能在一塊電路上擠進多少DDR或LPDDR,並將它們並排放置,試圖用更傳統的解決方案來逼近某些HBM的性能。

看懂存儲器

由於存儲器市場服務有許多不同的應用,所以在設計中清楚地了解如何合理的使用存儲器是很困難的。

了解各種可選方案將對此有所幫助。

西門子公司Mentor事業部的IP部門的董事總經理Farzad Zarrinfar表示:「基本上,你可以觀察自己的晶片,然後設想它可以用於幾個關鍵的垂直市場。

一些垂直市場可能是智慧型手機、高性能計算、汽車、物聯網、虛擬現實、混合現實等等。

你會發現晶片技術是不同的。

沒有一種晶片技術能解決所有問題。

例如,物聯網對功耗和成本敏感,人們可以利用超低功耗的40nm或28nm的工藝,如ULP或HPC+。

這對於物聯網來說非常合適。

而在汽車行業,使用28nm及以下工藝生產的晶片需求量很大。

內存綜合器(Memory Compiler)的選擇是另一個難題,大多數存儲器提供商都為它們的存儲器產品提供綜合器。

Zarrinfar表示:「智能綜合器可以幫助提供解決方案,因為它可以根據不同的需求進行優化。

例如,某些應用可能需要超低動態功耗,而汽車則有自己的要求,而且我們在這裡唯一的不變就是變化。

行業正在發展。

對於安全性,溫度等級以及其他一些考慮事項,有著非常明確的要求。

所有這些需求都會影響存儲器設計,而這正是工程團隊需要考慮的。

Zarrinfar表示:「當我們設計存儲器的時候,我們有特定的目標,可能是+125℃或+150℃的環境,這可以轉化為結溫。

我們有基於目標市場的市場需求文檔。

然後我們知道我們需要什麼樣的設計。

然後你需要有來自半導體代工的模型,規定我們擁有的模型的範圍。

汽車溫度迫使半導體代工廠增加傳統的工作溫度範圍。

雖然不是每個流程節點和類型都支持每種模型的每個替換,但必須進行充分的驗證,以確保各種組合能夠達到預期的結果。

最後,預計對存儲器更大帶寬、更少延遲、更低功耗和更低成本下的更大容量的需求的將會不斷增加。

面對著今天各種可用的存儲器類型,無論是獨立的存儲器晶片的還是嵌入式存儲器,系統架構師必須隨時改進理想存儲器方案的選項,以適應特定的應用場景。


致謝:本文由電子科技大學低功耗集成電路與系統研究所黃樂天老師和陳家豪同學協助校對。

特此感謝!


請為這篇文章評分?


相關文章