相關(guān)資訊
本類(lèi)常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416903
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機(jī)銀行客戶端下載下載量:365699
-
快播手機(jī)版下載量:325855
SSD固態(tài)硬盤(pán)設(shè)計(jì)圖文詳解
2012/12/23 23:44:49 出處:本站原創(chuàng) 人氣:571次 字號(hào):小 中 大
在2004年的時(shí)候本人采用Nand Flash作為存儲(chǔ)器對(duì)收費(fèi)站的客運(yùn)記錄進(jìn)行記錄保存。當(dāng)時(shí)采用的是三星的Nand Flash芯片,通過(guò)Philips(后來(lái)的NXP)的LPC2000系列ARM控制器實(shí)現(xiàn)對(duì)Nand Flash的操作。Nand Flash采用的是標(biāo)準(zhǔn)IO接口,所以開(kāi)發(fā)操作Flash的Firmware并不是十分困難的事情。由于信息記錄采用的是日志方式,因此,不會(huì)涉及到SSD遇到的寫(xiě)平衡和寫(xiě)放大等問(wèn)題。我開(kāi)發(fā)的第一塊Nand Flash數(shù)據(jù)存儲(chǔ)卡如下圖所示:
Nor Flash具有較高的讀性能,但是寫(xiě)性能極差(在寫(xiě)入的時(shí)候需要擦除,擦除的時(shí)候需要對(duì)存儲(chǔ)單元進(jìn)行清1操作,所以擦除時(shí)間比較長(zhǎng)),并且容量較小,因此,常被用作程序存儲(chǔ)器,采用標(biāo)準(zhǔn)存儲(chǔ)器總線接口。現(xiàn)在,很多嵌入式開(kāi)發(fā)中經(jīng)常采用Nor Flash保存U-Boot、Linux Kernel以及Initrd。Nand Flash是另外一類(lèi)Flash,其寫(xiě)性能要遠(yuǎn)高于Nor Flash,并且集成度很高,特別當(dāng)Intel引入MLC技術(shù)之后,Nand Flash容量增長(zhǎng)迅速,具有很高的單芯片容量。Nand Flash的大容量特性以及不錯(cuò)的讀寫(xiě)性能正好滿足了大容量存儲(chǔ)的需求,可以替代磁盤(pán)應(yīng)用,因此,Nand Flash采用IO接口方式。
Nand Flash單芯片容量這幾年增長(zhǎng)的非常迅速,在2008年的時(shí)候,一個(gè)Intel SSD(X25)的容量只能達(dá)到64GB。但是,今天單芯片容量已經(jīng)達(dá)到了1Tb(128GB),單芯片容量超過(guò)了幾年前的一個(gè)SSD固態(tài)硬盤(pán)。這種容量的劇增,主要還是存儲(chǔ)領(lǐng)域?qū)and Flash容量需求導(dǎo)致的。通常,Nand Flash內(nèi)部分成若干Block、Page和LUN,一個(gè)LUN的結(jié)構(gòu)如下圖所示:
這是Micron的Nand Flash(MT29E512G08CUCAB型號(hào))內(nèi)部結(jié)構(gòu),一個(gè)Page頁(yè)大小為8KB(有的 Flash page頁(yè)大小為4KB),一個(gè)block塊擁有256頁(yè),一個(gè)LUN有4096個(gè)塊。因此,一個(gè)LUN的總大小為8GB。一個(gè)芯片可以封裝多個(gè)LUN,如果封裝了8個(gè)LUN,那么整個(gè)Nand Flash芯片容量可以達(dá)到64GB。
從上圖可以看出,每個(gè)Nand Flash芯片提供了多組讀寫(xiě)接口(傳統(tǒng)的Nand Flash芯片只擁有一個(gè)讀寫(xiě)接口),每個(gè)Target擁有一個(gè)讀寫(xiě)接口,每個(gè)接口都可以采用同步或者異步操作方式。讀寫(xiě)操作可以針對(duì)一個(gè)Page頁(yè)或者單字節(jié)進(jìn)行操作;寫(xiě)操作前需要將整個(gè)Block塊擦除,然后才能進(jìn)行寫(xiě)入操作。Nand Flash的問(wèn)題也就在于Block擦除,如果上層軟件想要更新Block塊中的一個(gè)Page頁(yè),那么首先需要擦除整個(gè)Block,然后才能寫(xiě)入最新的Page數(shù)據(jù),這就是典型的寫(xiě)放大問(wèn)題。另外,每個(gè)Block的擦除次數(shù)是有限的,所以這種頻繁的擦除操作會(huì)導(dǎo)致Nand Flash塊損壞。為了解決這個(gè)問(wèn)題,需要在Nand Flash控制器中的Firmware做很多工作。
Nand Flash控制器內(nèi)部結(jié)構(gòu)不是十分復(fù)雜,其芯片(JMicro)內(nèi)部結(jié)構(gòu)如下圖所示:
其內(nèi)部核心模塊分為:多路Flash控制器、SATA控制器、內(nèi)存控制器以及CPU處理器。如上圖所示的JMF605擁有四個(gè)Flash接口控制器,因此,可以與四片傳統(tǒng)的Nand Flash接口芯片相連(采用JMF605構(gòu)成的SSD如下圖所示)。如果采用Micron的MT29E512G08CUCAB芯片,JMF605只能連接一片MT29E512。
從硬件的角度看,采用現(xiàn)有的控制器和Nand Flash構(gòu)建SSD并不是什么問(wèn)題,其最大的問(wèn)題還是在于如何解決Nand Flash與生俱來(lái)的問(wèn)題。所以,很多SSD廠商的技術(shù)核心也就在于Firmware的算法,該算法采用了很多存儲(chǔ)虛擬化的方法。