李煒
?。ㄖ须姾,?导瘓F有限公司,浙江 杭州 311121)
摘要:傳統(tǒng)企業(yè)級固態(tài)硬盤存儲芯片采用外接DRAM(Dynamic Random Access Memory)顆粒的方式來存儲閃存地址轉換映射表,,不僅成本高,,占用面積大,,還需要設計復雜的掉電保護流程和額外的備電保持電容。利用新型磁旋存儲芯片的掉電非易失特性,,以及密度高,、速度快、功耗低,、數(shù)據(jù)保持時間長,、可擦寫次數(shù)無限等特點,提出了一種基于嵌入式磁旋存儲芯片的固態(tài)硬盤控制器架構方案,,能夠大大簡化控制器芯片的掉電異常流程和備電設計,,節(jié)省固態(tài)硬盤內部的備電電容成本,有效支撐固態(tài)硬盤的容量提升,。
關鍵詞:磁旋存儲芯片,;固態(tài)硬盤;芯片架構,;嵌入式
中圖分類號:TN492文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.01.009
引用格式:李煒. 一種基于嵌入式磁旋存儲芯片的固態(tài)硬盤控制器芯片架構[J].微型機與應用,,2017,36(1):2931.
0引言
隨著大數(shù)據(jù)和云計算的發(fā)展,大量的數(shù)據(jù)需要進行存儲,,另一方面,,隨著NAND閃存(NAND Flash)工藝的進步和良率的提升,固態(tài)硬盤(Solid State Disk,,SSD)的成本已經下降至接近企業(yè)級機械硬盤(Hard Disk Drive)相當?shù)乃?,SSD在服務器、數(shù)據(jù)中心以及存儲系統(tǒng)中的應用越來越廣泛,。
傳統(tǒng)的企業(yè)級SSD控制器大多采用基于DRAM方案的數(shù)據(jù)和表項存儲方案,,不僅設計難度大,掉電異常流程復雜,,而且在SSD盤內需要占用大量的空間用來擺放備電鉭電容,,既增加了成本又制約了盤內利用空間,無法做到SSD的容量提升,。
本文將嵌入式磁旋存儲芯片(SpinTransferTorque Magnetic Random Access Memory, STTMRAM)應用于SSD控制器芯片架構設計中,,能夠簡化掉電異常流程,節(jié)省SSD盤內備電電容,,并可以提升硬盤容量達30%以上,。
1當前固態(tài)硬盤控制器架構方案簡介
圖1為當前主流企業(yè)級固態(tài)硬盤架構方案示意圖。
當前的固態(tài)硬盤控制器芯片分為前端主機接口模塊,、系統(tǒng)管理模塊,、后端Flash接口模塊幾個主要的部分。
前端主機接口模塊主要負責接收和處理主機側下發(fā)的讀寫命令并將數(shù)據(jù)接收下來存到DRAM中,。企業(yè)級SSD中,,由于對性能要求高,,前端主機接口基本上選用基于NVMe(NonVolatile Memory Express)協(xié)議的第三代PCIe(PCI Express)的接口,除此之外,,SAS(Serial Attached SCSI)12 G和SATA(Serial ATA)接口也是當前SSD前端主機接口的主流協(xié)議,。
系統(tǒng)管理模塊是SSD控制器芯片的最核心單元,包括閃存地址映射表(Flash Translate Layer,,F(xiàn)TL)管理,、元數(shù)據(jù)管理、日志管理,、流程控制等,。其中FTL表項管理是其中最重要的部分。
FTL主要處理主機下發(fā)的邏輯地址(Logic Block Address,,LBA)到介質顆粒里存儲的物理地址(Physical Block Address, PBA)之間的映射表,,是讓閃存完全模擬傳統(tǒng)硬盤操作的軟件層,有了FTL層閃存設備才能使用,,F(xiàn)TL層的效率直接影響設備的性能表現(xiàn),。
系統(tǒng)管理模塊的作用主要包括下面幾點:FTL表項管理;垃圾回收的處理,;增量空間的供給;冷/熱數(shù)據(jù)的交換處理,;Plane,、芯片、通道間的并行處理,;任務請求的排序,;緩沖區(qū)的管理;壞塊的管理,;磨損平衡的處理,;掉電恢復的處理;ECC的處理,。
NAND Flash Interface主要負責處理NAND Flash顆粒的數(shù)據(jù)與命令交換,。NFI負責把主機側的讀寫命令轉化成兼容ONFI和Toggle的標準NAND接口協(xié)議,并在NAND顆粒與控制器數(shù)據(jù)緩存之間做數(shù)據(jù)的讀寫交互,。
在SSD盤片的PCB板上,,除了控制器芯片和大量的NAND Flash顆粒之外,還包括下列幾個主要組成部分:
(1)外掛DRAM顆粒在SSD盤片的作用主要有兩個方面:作為讀寫數(shù)據(jù)的緩存及存取FTL映射表,。為了滿足此設計需求,,控制器芯片設計中為了適配DDR協(xié)議,需要開發(fā)DDR Controller與DDR PHY進行適配,,PCB上還要預留額外空間進行DRAM顆粒的排布以及高速信號布局布線,。
?。?)Electrical Capacity(備電電容)的作用是為了在意外掉電的情況下,能夠及時地把DRAM顆粒中存儲的FTL表項在備電電容電量的支撐下,,安全及時地下刷至非易失性介質(NAND Flash),,防止FTL表項丟失引發(fā)的數(shù)據(jù)丟失情況。
傳統(tǒng)SSD控制器芯片架構的不足在于以下幾點:
(1)由于企業(yè)級業(yè)內常用的方案是用外接DRAM顆粒來存儲FTL表項,,因此在芯片內部需要額外的DDRPHY和DDR 控制器進行適配,,開發(fā)DDR控制器和DDR PHY的難度相當大,而從EDA vendor處進行IP 授權的費用又相當昂貴,,因此會增大設計開發(fā)成本,。
(2)盤片內部空間限制,如圖2所示為標準2.5英寸SSD的印制電路板(PCB)示意圖,。從國內某著名公司生產的企業(yè)級SSD盤片剖解可以看出,,SSD硬盤的PCB板大約80%的空間是布滿了閃存介質顆粒,另外20%的空間擺放SSD控制器芯片,、DRAM顆粒及備電電容等,。
(3)企業(yè)級SSD對于數(shù)據(jù)可靠性的要求極高,,其設計時必須考慮在各種異常情況下(如異常掉電)能夠把控制器內部的最核心內容—FTL表安全可靠地存儲到非易失性介質中,。在常規(guī)企業(yè)級SSD控制器芯片架構中,DRAM內部存儲著FTL表項,,因此在遭遇掉電異常時,,需要把DRAM內部的FTL表下刷至NAND Flash中。簡而言之,,就是要在備電電容支撐電量的這一小段時間內,,控制器能夠將FTL表項的數(shù)據(jù)以寫操作的形式存儲到NAND Flash中。因此在備電設計上,,一是需要消耗數(shù)量巨大的貼片式鉭電容來提供備電能量,,導致PCB上的可用空間會進一步縮小,二是備電涉及到數(shù)據(jù)的異常處理流程,,會提高硬件以及固件設計的復雜度,。
2磁旋存儲芯片(STTMRAM)的特點
在眾多新型非易失性存儲介質中,磁旋存儲芯片(STTMRAM)能夠良好地與CMOS半導體工藝相兼容,,利用較少的金屬層即可以做到存儲單元的高密度集成,。同時由于其接近于靜態(tài)隨機存儲器(Static Random Access Memory, SRAM)的讀寫速度,極低的靜態(tài)和動態(tài)功耗,,具備掉電不易失的特性,,接近于無限的擦寫次數(shù),高溫下長時間的數(shù)據(jù)保持能力以及抗強磁場輻射等特性,是作為企業(yè)級SSD控制器中數(shù)據(jù)緩存和FTL表項存儲的天生優(yōu)良介質[1],。
當前,,眾多半導體設計大廠都將MRAM芯片作為下一代非易失性存儲介質的研發(fā)重點,除了臺積電,、三星和東芝一直在持續(xù)推進STTMRAM的研發(fā)之外,,美國的EVERSPIN公司已經發(fā)布了256 MB的量產測試芯片。隨著工藝的進步和良率的提升,,STTMRAM在存儲細分領域中的應用將會越來越廣泛[2],。
將嵌入式STT-MRAM應用在SSD控制器芯片架構設計中,充分利用其掉電不易失數(shù)據(jù)的特性,,能夠節(jié)省大量的備電設計和備電流程,,極大地簡化SSD的控制器架構設計。另外,,由于節(jié)省了貼片式鉭電容,,在PCB板上能夠留取更大的空間來支撐更多的NAND Flash顆粒的放置,達成更大的容量,。除此之外,,簡化了控制器芯片內部的DDR接口相關IP設計,利用嵌入式STTMRAM的內部總線接口(SRAMlike),,既簡化了設計難度又能夠減少板上走線的信號延時,,避免對接口高速信號的影響。
3基于嵌入式磁旋存儲的SSD控制器架構方案
圖3為應用嵌入式STTMRAM之后的SSD控制器芯片架構示意圖,。
本方案的技術特征在于:
?。?)移除SSD控制器芯片內部的DDR控制器和DDR PHY,直接以類SRAM(SRAMlike)的接口形式將嵌入式STTMRAM集成在控制器芯片內部,。
SRAMlike的總線接口信號包括片選CS,、寫使能WE,、讀使能RE,、輸出使能信號OE、復位RST,、時鐘CLK,、地址線A[31:0]、數(shù)據(jù)輸入線DIN[31:0]及數(shù)據(jù)輸出線DOUT[31:0],。采用內部總線接口與控制器內部模塊進行交互,,能夠極大地減少信號線傳輸延時以及外部接口協(xié)議帶來的額外開銷,進一步提升控制器的性能,。
?。?)STT-MRAM的主要作用在于:接收前端主機接口下發(fā)的數(shù)據(jù),作為與后端Flash接口的數(shù)據(jù)緩存,;存儲閃存地址轉換層表項,;存儲元數(shù)據(jù),,如有效頁個數(shù)、壞塊管理信息,、固件,、啟動代碼、稀疏校驗矩陣等,。
(3)備電流程的簡化,。在傳統(tǒng)的SSD控制器芯片架構中,由于數(shù)據(jù)以及FTL表項都是存儲在DRAM中,,而DRAM具有掉電易失數(shù)據(jù)的特性,,因此為保證數(shù)據(jù)可靠性,在遭遇到異常掉電的情形下,,傳統(tǒng)控制器芯片需要在板上備電電容的電量支撐下,,主動發(fā)起Flash的寫操作,將需要保存的重要信息全部下刷到非易失的閃存中,,當下一次上電后,,控制器需要發(fā)起讀操作再將FTL表項等數(shù)據(jù)重新讀取到DRAM中,完成系統(tǒng)的初始化,。圖4為SSD異常掉電流程圖,。
在本架構方案中,由于嵌入式STTMRAM的掉電非易失特性,,在遭遇到掉電異常時,,數(shù)據(jù)和FTL表項依然可圖4SSD異常掉電流程圖以安全地進行存儲,因此系統(tǒng)備電流程將會被極大地簡化,。盤片內部用來做備電的鉭電容也能夠去除,,節(jié)省盤片內部的硬件設計成本。根據(jù)一款900 GB的SAS接口的企業(yè)級SSD盤片的解剖分析可以看到,, 為了滿足備電需求,,盤片PCB上一共放置了共400多個鉭電容。如果采用本架構方案,,能夠將這些額外的鉭電容全部移除,,一方面節(jié)省了硬件元器件成本,另一方面利用鉭電容移除的PCB面積來貼NAND Flash顆粒,,至少能夠使SSD盤容量提升20%,。
4結論
本文提出的基于嵌入式STTMRAM的固態(tài)硬盤控制器架構,能夠極大地簡化控制器內關于FTL表項的備電流程,,簡化盤片內的PCB設計難度和成本,,在提升SSD讀寫性能的同時能夠有效支撐SSD做到更大的容量。隨著STTMRAM的工藝技術進步和良率的提升,磁旋存儲芯片必將在更多的存儲細分領域中得到廣泛的應用,。
參考文獻
?。?] TANG D D, LEE Y J. Magnetic memory fundamentals and technology[M]. England: Cambridge University Press,,2010.
?。?] Xie Yuan. Emerging memory technologies: design, architecture, and applications[M]. Germany: Springer, 2014.