Dram與mram結(jié)合的固態(tài)硬盤及使用mram的存儲卡的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲設(shè)備,具體涉及一種DRAM與MRAM結(jié)合的固態(tài)硬盤及使用MRAM的存儲卡。
【背景技術(shù)】
[0002]當(dāng)前,NAND閃存技術(shù)的發(fā)展推動(dòng)了 SSD產(chǎn)業(yè)。如圖1所示,SSD與主機(jī)之間使用高速串行接口如SATA,PICe等技術(shù)。內(nèi)部由用于存儲數(shù)據(jù)的一組NAND芯片,用于支持計(jì)算和緩存數(shù)據(jù)的DDR DRAM(內(nèi)存),以及一個(gè)主控芯片(SSD Controller)組成。有時(shí)候還需要斷電保護(hù)系統(tǒng)。
[0003]在手機(jī)等設(shè)備中使用的存儲卡(SD或MicroSD卡,eMMC)架構(gòu)類似。只不過用少量集成在控制芯片中的SRAM取代了 DRAM芯片組。
[0004]NAND是一種整塊讀寫的存儲設(shè)備,最小可讀取的單元叫頁(page),最小可擦除的單元叫塊(block),一個(gè)塊往往由很多頁組成,塊擦除后里面的頁可以進(jìn)行單獨(dú)的寫入操作。寫入操作很慢,比讀取慢得多,而擦除操作又比寫入更加慢得多。
[0005]NAND閃存的一個(gè)問題是NAND具有有限的壽命。里面的每一個(gè)頁經(jīng)過一定次數(shù)的擦寫以后,就會永久失效不能繼續(xù)使用。目前的產(chǎn)業(yè)發(fā)展趨勢是NAND芯片的容量和數(shù)據(jù)密度增長非???,但卻是以降低壽命為代價(jià)。可擦寫次數(shù)從最初的10萬次降低到目前的3000次左右。
[0006]因?yàn)镹AND閃存的以上特性,SSD內(nèi)部的NAND管理軟件比較復(fù)雜。為了不使某些經(jīng)常發(fā)生寫操作的塊提前損壞,需要進(jìn)行寫均衡處理。文件系統(tǒng)軟件所識別的邏輯地址和物理地址是不同的,需要一個(gè)表把二者對應(yīng)起來。
[0007]由于NAND芯片擦除太慢,一般修改一內(nèi)容時(shí)不在原來的塊區(qū)更新,而是把新的內(nèi)容寫到一個(gè)新的塊區(qū),舊塊區(qū)標(biāo)記為無效,等CPU空閑下來再擦除它。這樣,邏輯物理地址對照表是不斷動(dòng)態(tài)更新的。
[0008]邏輯物理地址對照表的大小正比于存儲設(shè)備的總?cè)萘?,存儲在DDR DRAM里,另外在NAND芯片中也有相應(yīng)的備份信息。隨著市場上SSD容量的迅速增加,這個(gè)表成為DRAM最大的消耗者。
[0009]由于NAND的讀寫速度比DRAM慢得多,還可以利用一部分DRAM空間作讀、寫的緩存(Cache),以提高整個(gè)SSD的性能。
[0010]然而引入寫緩存產(chǎn)生了新的問題:一旦發(fā)生斷電,DRAM緩存中尚未寫入NAND的內(nèi)容會丟失,造成系統(tǒng)丟失數(shù)據(jù)甚至整個(gè)文件系統(tǒng)的損壞。因此必須同時(shí)使用昂貴的、體積大的斷電保護(hù)系統(tǒng)(一般由電池或者大量的電容器組成)。而邏輯-物理地址對照表,在發(fā)生斷電后,是可以利用NAND中的數(shù)據(jù)重新構(gòu)造的,盡管很費(fèi)時(shí)間。
[0011]關(guān)于MRAM:
[0012]MRAM是一種新的內(nèi)存和存儲技術(shù),可以像SRAM/DRAM—樣快速隨機(jī)讀寫,還可以像Flash閃存一樣在斷電后永久保留數(shù)據(jù)。
[0013]MRAM的經(jīng)濟(jì)性相當(dāng)好,單位容量占用的硅片面積比SRAM有很大的優(yōu)勢,比在此類芯片中經(jīng)常使用的NOR Flash也有優(yōu)勢,比嵌入式NOR Flash的優(yōu)勢更大。MRAM的性能也相當(dāng)好,讀寫時(shí)延接近最好的SRAM,功耗則在各種內(nèi)存和存儲技術(shù)最好。而且MRAM不像DRAM以及Flash,與標(biāo)準(zhǔn)CMOS半導(dǎo)體工藝不兼容,MRAM可以和邏輯電路集成到一個(gè)芯片中。
[0014]關(guān)于操作系統(tǒng)和軟件:
[0015]如圖2所示,手機(jī)與計(jì)算機(jī)的文件操作方式如下:
[0016](I)應(yīng)用軟件向操作系統(tǒng)發(fā)出打開、關(guān)閉、讀、寫文件指令;
[0017](2)操作系統(tǒng)中的文件系統(tǒng)部分把讀、寫文件的指令轉(zhuǎn)化為讀、寫存儲塊的指令;
[0018](3)NAND驅(qū)動(dòng)與管理軟件接受讀寫存儲塊區(qū)的指令,進(jìn)行緩存、寫均衡等優(yōu)化,向芯片發(fā)出讀寫page,擦除block等指令。
[0019]在手機(jī)中,NAND驅(qū)動(dòng)與管理軟件通常作為與操作系統(tǒng)緊密相關(guān)的軟件模塊,在主機(jī)芯片上運(yùn)行;在計(jì)算機(jī)中,NAND驅(qū)動(dòng)與管理軟件通常在固態(tài)硬盤的主控芯片上運(yùn)行。
[0020]使用MRAM作為存儲設(shè)備中的寫緩存,既能提高寫入速度,又能省掉斷電保護(hù)系統(tǒng),當(dāng)采用一些策略將經(jīng)常進(jìn)行寫操作的NAND頁盡量留在寫緩存中,可以減少寫入NAND芯片的次數(shù),延長產(chǎn)品的使用壽命。
[0021]然而邏輯物理地址對照表一旦丟失,后果也比較嚴(yán)重。通常NAND芯片內(nèi)存有邏輯物理地址對照表的備份信息,例如使用芯片提供給每一頁的多余空間存儲該頁對應(yīng)的邏輯地址。但這樣的備份信息需要對整個(gè)硬盤進(jìn)行掃描才可以重建邏輯物理地址對照表。重新開機(jī)后耗時(shí)很長。
[0022]而邏輯物理地址對照表很大時(shí),不可能整個(gè)存儲在MRAM中;而邏輯物理地址對照表又是隨時(shí)改變的。
[0023]按現(xiàn)在通用的算法,每發(fā)生一次寫操作,都會有相應(yīng)的邏輯物理地址對照表更改,因此也不可能把它保存在NAND芯片中。
[0024]因而需要找到一個(gè)費(fèi)效比更好的辦法,既能夠安全地存儲邏輯物理地址對照表,又能夠在不使用備份電源的情況下,下次開機(jī)的速度不受斷電影響。
【發(fā)明內(nèi)容】
[0025]有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種DRAM與MRAM結(jié)合的固態(tài)硬盤,既能夠安全地存儲邏輯物理地址對照表,又能夠在不使用備份電源的情況下,下次開機(jī)的速度不受斷電影響。
[0026]如果使用速度快并且斷電后保持內(nèi)容的MRAM取代DRAM,固然可以安全地存儲邏輯物理地址對照表,同時(shí)下次開機(jī)的速度不受斷電影響,但未來相當(dāng)長一段時(shí)間內(nèi),MRAM仍然會比DRAM貴很多,因此使用大量的MRAM同樣會顯著增加固態(tài)硬盤的成本。
[0027]本發(fā)明在固態(tài)硬盤中,混合使用MRAM和DRAM,既能夠保證安全地存儲邏輯物理地址對照表,下次開機(jī)的速度不受斷電影響,又能夠降低固態(tài)硬盤成本。
[0028]本發(fā)明還提供一種使用MRAM的存儲卡。
[0029]本發(fā)明提供一種DRAM與MRAM結(jié)合的固態(tài)硬盤,包括主機(jī)接口、主控芯片、DRAM,MRAM以及一個(gè)或多個(gè)NAND芯片,主控芯片包括CPU ;NAND芯片存儲邏輯物理地址對照表,系統(tǒng)開機(jī)時(shí)將NAND芯片中的邏輯物理地址對照表加載到DRAM,MRAM包括:
[0030]寫緩存或讀寫緩存,按照與NAND芯片中NAND頁同樣大小的頁組織起來;
[0031]更新表,用于存儲邏輯物理地址對照表的更新記錄。
[0032]本發(fā)明提供的固態(tài)硬盤,混合使用MRAM和DRAM,使用MRAM保存更新表,將消耗內(nèi)存最大的邏輯物理地址對照表保存在NAND芯片中,系統(tǒng)開機(jī)時(shí)將NAND芯片中的邏輯物理地址對照表加載到DRAM,由于MRAM可以像Flash閃存一樣在斷電后永久保留數(shù)據(jù),因此不再需要使用昂貴的、體積大的斷電保護(hù)系統(tǒng),就能夠安全地存儲邏輯物理地址對照表。
[0033]如果發(fā)生斷電,DRAM中的邏輯物理地址對照表丟失,系統(tǒng)開機(jī)時(shí),重新從NAND芯片加載邏輯物理地址對照表,開機(jī)的速度不受斷電影響。
[0034]由于不需要使用昂貴的、體積大的斷電保護(hù)系統(tǒng),使用MRAM保存更新表并不需要很大的容量,能夠大大降低了固態(tài)硬盤的成本,是一個(gè)費(fèi)效比很高的方案。
[0035]進(jìn)一步地,更新記錄包括NAND頁的邏輯地址與更新的物理地址。
[0036]進(jìn)一步地,每一次向NAND芯片寫入一個(gè)NAND頁時(shí),為NAND頁選擇一個(gè)新的物理地址,如果更新表中存在NAND頁的更新記錄,則更新所述更新記錄的物理地址,否則向更新表中添加一條更新記錄;CPU在讀寫操作時(shí),使用DRAM中的邏輯物理地址對照表與更新表進(jìn)行地址翻譯。
[0037]進(jìn)一步地,每一次向NAND芯片寫入一個(gè)NAND頁時(shí),為NAND頁選擇一個(gè)新的物理地址,如果更新表中存在NAND頁的更新記錄,則更新所述更新記錄的物理地址,否則向更新表中添加一條更新記錄;并更新DRAM中的邏輯物理地址對照表,CPU在讀寫操作時(shí)使用DRAM中的邏輯物理地址對照表進(jìn)行地址翻譯。
[0038]進(jìn)一步地,系統(tǒng)開機(jī)時(shí)將NAND芯片中的邏輯物理地址對照表加載到DRAM后,使用更新表中的更新記錄更新DRAM中的邏輯物理地址對照表。
[0039]進(jìn)一步地,更新表中的更新記錄的數(shù)目大于或等于設(shè)定值,使用更新記錄更新NAND芯片中的邏輯物理地址對照表,并刪除更新記錄。
[0040]進(jìn)一步地,MRAM通過DRAM接口與主控芯片連接,或者M(jìn)RAM集成在主控芯片中,由于MRAM不像DRAM以及Flash那樣與標(biāo)準(zhǔn)CMOS半導(dǎo)體工藝不兼容,MRAM可以和邏輯電路集成到一個(gè)芯片中,因而可以與主控芯片集成在一個(gè)芯片中,簡化了固態(tài)硬盤的結(jié)構(gòu)。
[0041 ] 本發(fā)明還提供一種使用MRAM的存儲卡,包括主機(jī)接口、集成MRAM的主控芯片以及NAND芯片,主控芯片包括CPU ;NAND芯片存儲邏輯物理地址對照表,MRAM包括邏輯物理地址對照表緩存以及更新表,更新表用于存儲邏輯物理地址對照表的更新記錄。
[0042]進(jìn)一步地,每一次向NAND芯片寫入一個(gè)NAND頁時(shí),為NAND頁選擇一個(gè)新的物理地址,如果更新表中存在NAND頁的更新記錄,則更新更新記錄的物理地址,否則向更新表中添加一條更新記錄;CPU在讀寫操作時(shí)使用更新表、MRAM中的邏輯物理地址對照表緩存以及NAND芯片中的邏輯物理地址對照表進(jìn)行地址翻譯。
[0043]進(jìn)一步地,當(dāng)需要將邏輯物理地址對照表緩存中的緩存頁寫回NAND芯片時(shí),檢查緩存頁中包括的每一條邏輯物理地址記錄,是否在更新表中存在相應(yīng)的更新記錄,如果存在,用更新記錄更新邏輯物理地址記錄,并刪除更新表中更新記錄,再將更新后的緩存頁寫回NAND芯片。
[0044]與現(xiàn)有技術(shù)相比,本發(fā)明提供的DRAM與MRAM結(jié)合的固態(tài)硬盤及使用MRAM的存儲卡,具有以下有益效果:
[0045](I)使用MRAM保存更新表,將消耗內(nèi)存最大的邏輯物理地址對照表保存在NAND芯片中,系統(tǒng)開機(jī)時(shí)將NAND芯片中的邏輯物理地址對照表加載到DRAM,由于MRAM可以像Flash閃存一樣在斷電后永久保留數(shù)據(jù),因此不再需要使用昂貴的、體積大的斷電保護(hù)系統(tǒng),就能夠安全地存儲邏輯物理地址對照表;
[0046](2)如果發(fā)生斷電,DRAM中的邏輯物理地址對照表丟失,系統(tǒng)開機(jī)時(shí),重新從NAND芯片加載邏輯物理地址對照表,開機(jī)的速度不受斷電影響;
[0047](3)由于不需要使用昂貴的、體積大的斷電保護(hù)系統(tǒng),使用MRAM保存更新表并不需要很大的容量,能夠大大降低了固態(tài)硬盤的成本,是一個(gè)費(fèi)效比很高的方案。
[0048]以下將結(jié)合附圖對本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一