固態(tài)驅(qū)動(dòng)器體系結(jié)構(gòu)的制作方法
【專利說明】固態(tài)驅(qū)動(dòng)器體系結(jié)構(gòu)
[0001]相關(guān)申請(qǐng)
本申請(qǐng)根據(jù)美國(guó)法典第35條119 (e)款要求保護(hù)2012年11月20日提交的美國(guó)臨時(shí)申請(qǐng)?zhí)?1/728,394和2013年3月8日提交的美國(guó)臨時(shí)申請(qǐng)?zhí)?1/775,327的權(quán)益,所述臨時(shí)申請(qǐng)通過引用整體結(jié)合在本文中。
【背景技術(shù)】
[0002]計(jì)算裝置將程序可執(zhí)行文件和數(shù)據(jù)保存在非易失性存儲(chǔ)器中。這使文件在被重啟之后或在電源中斷之后可用于計(jì)算裝置。傳統(tǒng)地,用于大文件的優(yōu)選的非易失性存儲(chǔ)已是硬盤驅(qū)動(dòng)器。硬盤驅(qū)動(dòng)器包含馬達(dá)驅(qū)動(dòng)軸上的旋轉(zhuǎn)剛性盤片。數(shù)據(jù)通過浮置在盤片之上的氣膜的磁頭從盤片磁性地讀取和被寫入到盤片。這些盤片典型地以每分鐘4,200?15,000轉(zhuǎn)數(shù)(rpm)的速度旋轉(zhuǎn)。硬盤驅(qū)動(dòng)器具有許多劣勢(shì),包含與旋轉(zhuǎn)盤和移動(dòng)磁頭的機(jī)械性質(zhì)相關(guān)的訪問時(shí)間、高的功耗、機(jī)械故障、和低的抗沖擊。
[0003]固態(tài)驅(qū)動(dòng)器(SSD)是非易失性存儲(chǔ)裝置,其使用集成電路來存儲(chǔ)數(shù)據(jù)并且因此不含有移動(dòng)的部分。SSD具有優(yōu)于硬盤驅(qū)動(dòng)器的許多優(yōu)勢(shì),包含更高的抗沖擊、更低的訪問時(shí)間、和更可變的形式因子。此外,SSD典型地在操作期間比硬盤驅(qū)動(dòng)器消耗少得多的功率。因此,SSD允許更小、更薄的裝置輪廓和電池充電上的更長(zhǎng)操作。
【附圖說明】
[0004]附圖圖解在本文中描述的原理的各種示例,并且是說明書的部分。圖解的示例僅僅是示例并且不限制權(quán)利要求的范圍。
[0005]圖1是依據(jù)在本文中描述的原理的一個(gè)示例的說明性固態(tài)驅(qū)動(dòng)器體系結(jié)構(gòu)的框圖。
[0006]圖2是依據(jù)在本文中描述的原理的一個(gè)示例的閃存存儲(chǔ)器模塊的框圖。
[0007]圖3是依據(jù)在本文中描述的原理的一個(gè)示例的結(jié)合在圖2中示出的閃存存儲(chǔ)器模塊的說明性固態(tài)驅(qū)動(dòng)器體系結(jié)構(gòu)的框圖。
[0008]圖4是依據(jù)在本文中描述的原理的一個(gè)示例的出現(xiàn)在CPU/CPU存儲(chǔ)器、DRAM邏輯閃存、以及閃存存儲(chǔ)器之間的各種交互和過程的圖示。
[0009]圖5A示出依據(jù)在本文中描述的原理的一個(gè)示例的在將數(shù)據(jù)寫入到固態(tài)驅(qū)動(dòng)器期間的數(shù)據(jù)流。
[0010]圖5B是依據(jù)在本文中描述的原理的一個(gè)示例的描述用于將數(shù)據(jù)寫入到固態(tài)驅(qū)動(dòng)器的方法的流程圖。
[0011]圖6A示出依據(jù)在本文中描述的原理的一個(gè)示例的在將數(shù)據(jù)從固態(tài)驅(qū)動(dòng)器讀取到CPU存儲(chǔ)器期間的數(shù)據(jù)流。
[0012]圖6B是描述依據(jù)在本文中描述的原理的一個(gè)示例的用于將數(shù)據(jù)從固態(tài)驅(qū)動(dòng)器讀取到CPU存儲(chǔ)器的方法的流程圖。
[0013]圖7是示出依據(jù)在本文中描述的原理的一個(gè)示例的用于保存系統(tǒng)狀態(tài)的快照的方法的流程圖。
[0014]圖8是依據(jù)在本文中描述的原理的一個(gè)示例的用于從SSD快速加載程序文件到CPU存儲(chǔ)器的說明性方法的流程圖。
[0015]圖9是依據(jù)在本文中描述的原理的一個(gè)示例的用于數(shù)據(jù)轉(zhuǎn)儲(chǔ)/恢復(fù)的方法的流程圖。
[0016]圖10是依據(jù)在本文中描述的原理的一個(gè)示例的用于誤處理的文件恢復(fù)的方法的流程圖。
[0017]貫穿附圖,同樣的參考標(biāo)記指定類似但不必同樣的元素。
【具體實(shí)施方式】
[0018]固態(tài)驅(qū)動(dòng)器(SSD)是非易失性存儲(chǔ)裝置,其使用集成電路諸如NAND閃存存儲(chǔ)器來存儲(chǔ)數(shù)據(jù)。SSD具有許多優(yōu)勢(shì),諸如高的抗沖擊、低功率要求、更快的訪問時(shí)間、和更可變的形式因子。然而,被用作固態(tài)驅(qū)動(dòng)器中的存儲(chǔ)器的集成電路具有有限的壽命。NAND閃存的典型規(guī)范指定NAND閃存在故障之前僅能夠被可靠地使用1000-3000個(gè)寫入/擦除周期。該壽命限制特別麻煩,因?yàn)樵诋?dāng)前的體系結(jié)構(gòu)中NAND閃存的塊每當(dāng)該塊所含有的數(shù)據(jù)的任何部分被改變時(shí)必須被擦除和重新寫入。因此,使用SSD驅(qū)動(dòng)器越頻繁,它將出現(xiàn)故障越快。許多操作系統(tǒng)頻繁地寫入到非易失性存儲(chǔ)器。例如,文件存取表(FAT表)每當(dāng)文件改變時(shí)被重新寫入。每個(gè)FAT表更新包含多個(gè)擦除/寫入周期。此外,許多操作系統(tǒng)周期地保存計(jì)算裝置的當(dāng)前狀態(tài)的“快照”到非易失性存儲(chǔ)器中。雖然這能夠有益于恢復(fù)計(jì)算裝置的操作,但是例行地保存大的快照到NAND閃存上能夠顯著地縮短SSD的壽命。因此,SSD可能無法滿足消費(fèi)者預(yù)期并且可能要求頻繁的取代。
[0019]下面描述許多原理,其允許閃存存儲(chǔ)器被有效地用作非易失性存儲(chǔ),盡管其有限數(shù)目的擦除/寫入周期。下面描述的固態(tài)驅(qū)動(dòng)器(SSD)體系結(jié)構(gòu)通過創(chuàng)建DRAM邏輯閃存來充當(dāng)閃存存儲(chǔ)器之間的中間物并且然后當(dāng)數(shù)據(jù)應(yīng)當(dāng)被寫入到NAND閃存存儲(chǔ)器時(shí)獨(dú)立地存取來解決NAND閃存存儲(chǔ)器的限制。這顯著地改進(jìn)SSD的操作速度和壽命,并且允許SDD被用作硬盤驅(qū)動(dòng)器的即插即用備選。
[0020]計(jì)算裝置內(nèi)的數(shù)據(jù)使用典型地分成兩類:數(shù)據(jù)的創(chuàng)建/操縱期間的高的使用量以及然后當(dāng)數(shù)據(jù)被存檔或存儲(chǔ)為運(yùn)行程序時(shí)極較低的使用量。說明性SSD分離存儲(chǔ)與計(jì)算裝置的瞬時(shí)狀態(tài)相關(guān)的數(shù)據(jù)的過程和閃存的永久存儲(chǔ)能力。
[0021]當(dāng)計(jì)算裝置掉電時(shí),由計(jì)算裝置的易失性存儲(chǔ)器存儲(chǔ)的數(shù)據(jù)丟失。下面描述的SSD通過允許在程序或數(shù)據(jù)文件的開發(fā)期間存儲(chǔ)數(shù)據(jù)并且當(dāng)計(jì)算裝置掉電時(shí)進(jìn)行保護(hù)免于數(shù)據(jù)丟失來促進(jìn)數(shù)據(jù)文件的創(chuàng)建。
[0022]SSD包含管理最優(yōu)數(shù)目的閃存存儲(chǔ)器裝置的幾個(gè)閃存接口控制器。在像USB2裝置的簡(jiǎn)單系統(tǒng)中,一個(gè)中間控制器能夠被用來直接管理閃存。然而,在高速系統(tǒng)中,幾個(gè)控制器能夠被并行操作來更迅速得多地管理數(shù)據(jù)。下面描述的原理也能夠被應(yīng)用到各種各樣的總線和裝置技術(shù),包含SATA 3 (每秒500兆字節(jié))、USB 3.0 “超高速”裝置,包含USB 3.0固態(tài)驅(qū)動(dòng)器和存儲(chǔ)裝置。USB 3.0規(guī)范指定每秒上至4.8吉位的傳送速率、增加的最大總線功率和更高效的功率管理。
[0023]在下面的描述中,出于解釋的目的,許多特定細(xì)節(jié)被闡述以便提供對(duì)本系統(tǒng)和方法的透徹理解。然而,本設(shè)備、系統(tǒng)和方法可以在沒有這些特定細(xì)節(jié)的情況下來實(shí)踐對(duì)本領(lǐng)域技術(shù)人員來說將是顯而易見的。在說明書中對(duì)“示例”或類似語(yǔ)言的引用意味著結(jié)合示例描述的特定特征、結(jié)構(gòu)、或特性在至少那一個(gè)示例中但不必在其它示例中被包含。
[0024]在下面的幾個(gè)實(shí)例中,描述控制器,該控制器包含至少一個(gè)微處理器、只讀存儲(chǔ)器(ROM)和隨機(jī)存取存儲(chǔ)器(RAM)。微處理器、ROM和RAM—起工作以實(shí)施控制器的功能。具有不同控制和/或硬件實(shí)施方式的不同微處理器的使用能夠被用來實(shí)施在本文中描述的原理。
[0025]圖1示出包含邏輯閃存和非易失性閃存存儲(chǔ)器的固態(tài)驅(qū)動(dòng)器的一個(gè)實(shí)施方式。邏輯閃存包含易失性存儲(chǔ)器的片段和獨(dú)立的控制器。邏輯閃存被配置成實(shí)施閃存控制器的所有功能,使得中央處理單元(CPU)當(dāng)它正在實(shí)際讀取和寫入到邏輯閃存時(shí)將認(rèn)為它正在讀取和寫入到閃存。邏輯閃存實(shí)施閃存存儲(chǔ)器的行為,但沒有閃存存儲(chǔ)器的壽命、速度、或?qū)ぶ废拗啤_壿嬮W存以與閃存存儲(chǔ)器相同的方式來存儲(chǔ)文件并且響應(yīng)于閃存的命令。進(jìn)一步,邏輯閃存使用FAT表、更新邏輯記錄、組合文件、并且被附著到SATA 3總線。因?yàn)檫壿嬮W存的易失性存儲(chǔ)器具有實(shí)質(zhì)上無限數(shù)目的讀/寫周期,所以系統(tǒng)處理器和操作系統(tǒng)能夠存儲(chǔ)與期望一樣多的更新和快照。進(jìn)一步,邏輯閃存在讀取和寫入數(shù)據(jù)兩者上是極其快速的。CPU從邏輯閃存讀取并且專有地寫入到邏輯閃存,而寫入和讀取到閃存存儲(chǔ)器由固態(tài)驅(qū)動(dòng)器來專有地控制。邏輯閃存的使用允許所有閃存的命令以全接口速度來處理,并且最小化到閃存存儲(chǔ)器的寫入。這不同于高速緩存,因?yàn)楦咚倬彺孀罱K將所有東西寫入到閃存存儲(chǔ)器,并且僅被實(shí)施來增加速度和處理短的讀取和寫入。
[0026]SSD內(nèi)的主控制器獨(dú)立地確定何時(shí)數(shù)據(jù)應(yīng)當(dāng)被傳送到閃存存儲(chǔ)器或從閃存存儲(chǔ)器來傳送。這顯著地減少閃存存儲(chǔ)器的寫入/擦除周期的數(shù)目,因?yàn)镃PU不直接訪問閃存存儲(chǔ)器。
[0027]閃存存儲(chǔ)器包含許多閃存存儲(chǔ)器模塊。每個(gè)閃存存儲(chǔ)器模塊包含獨(dú)立的控制器和許多閃存管芯。通過使用獨(dú)立控制器,SSD能夠并行地執(zhí)行多個(gè)操作。這導(dǎo)致顯著更快的讀取和寫入時(shí)間。
[0028]下面段落描述用于開發(fā)SSD的各種原理,該SSD結(jié)合邏輯閃存和多個(gè)控制器。SSD當(dāng)前每吉字節(jié)存儲(chǔ)比硬盤驅(qū)動(dòng)器更昂貴。這主要由于被用來存儲(chǔ)SSD中的數(shù)據(jù)的非易失性存儲(chǔ)器管芯的成本引起。存儲(chǔ)器管芯典型地是閃存存儲(chǔ)器,雖然已經(jīng)提出其它類型的存儲(chǔ)器,包含鐵電隨機(jī)存取存儲(chǔ)器(FeRAM)、磁阻隨機(jī)存取存儲(chǔ)器(MRAM)、可編程金屬化單元(PMC)、相變存儲(chǔ)器(PCM)、以及其它技術(shù)。非易失性存儲(chǔ)器類型中的這些類型中的每個(gè)具有優(yōu)勢(shì)和劣勢(shì)。然而,閃存存儲(chǔ)器是最成熟的技術(shù)并且具有每單位存儲(chǔ)容量的最低成本。存在兩種主要類型的閃存存儲(chǔ)器:N0R類型和NAND類型。NOR和NAND閃存兩者都將數(shù)據(jù)存儲(chǔ)在由浮置柵晶體管制成的存儲(chǔ)單元中。這些浮置柵晶體管在耗損開始惡化存儲(chǔ)的完整性之前具有有限數(shù)目的程序擦除周期。例如,NOR閃存存儲(chǔ)器可以具有100,000周期的典型耐受等級(jí),并且NAND閃存存儲(chǔ)器可以具有1,000至3000周期的典型耐受等級(jí)。
[0029]NOR類型閃存存儲(chǔ)器允許獨(dú)立地寫入和/或讀取單個(gè)字節(jié)。然而,該隨機(jī)存取特征使NOR存儲(chǔ)器每單位面積不太密集并且每單位存儲(chǔ)更昂貴。NAND類型閃存非常高密度并且具有每單位存儲(chǔ)的對(duì)應(yīng)更低的成本。然而,在當(dāng)前芯片體系結(jié)構(gòu)中,NAND類型閃存必須被讀取和編程在被稱為塊的更大片段中。該限制是重要的,因?yàn)樽兏鼔K中的單個(gè)位要求塊中的整個(gè)寫入空間的擦除和重新寫入。出于解釋的目的,NAND類型閃存將被用在固態(tài)驅(qū)動(dòng)器體系結(jié)構(gòu)的說明性示例中。然而,在本文中描述的原理能夠被應(yīng)用到各種各樣的非易失性存儲(chǔ)器類型。
[0030]如上面討論的,NAND類型閃存是不昂貴并且緊湊的,但具有以下劣勢(shì):在耗損開始惡化存儲(chǔ)的完整性之前具有有限數(shù)目的程序擦除周期。該挑戰(zhàn)被以下事實(shí)加重:雖然NAND類型閃存能夠以位級(jí)來讀取,但是NAND類型閃存必須以大的片段(“塊”)而不是以位級(jí)來寫入和擦除。因此,當(dāng)塊中的任何位改變時(shí),塊中的所有數(shù)據(jù)必須被拷貝到新的塊。在拷貝過程期間,(一個(gè)或多個(gè))新的位被結(jié)合到存儲(chǔ)在新的塊上的數(shù)據(jù)中。舊的塊然后被擦除并且被再次使用。許多計(jì)算裝置上的程序和操作系統(tǒng)頻繁地讀取和寫入到硬盤驅(qū)動(dòng)器,這可能導(dǎo)致NAND閃存的迅速退化。在這些工業(yè)標(biāo)準(zhǔn)的操作中,改變塊中的甚至一個(gè)位要求整個(gè)塊的拷貝和擦除。在下面的討論中,描述原理,該原理提供保持塊直到它是滿的并且僅正更新已經(jīng)被寫入的頁(yè)面。
[0031]在一些Apple?操作系統(tǒng)中,用戶的文件被連續(xù)地寫入到硬驅(qū)動(dòng)器以允許用戶將機(jī)器恢復(fù)到先前狀態(tài)。不僅系統(tǒng)恢復(fù)到最近狀態(tài),而且存在被稱為“時(shí)間機(jī)”的程序,其允許系統(tǒng)被恢復(fù)到數(shù)月之前的任何先前狀態(tài)。該程序壓縮快照并且允許恢復(fù)到天但不是在那天期間的任何時(shí)段。然而,快照能夠被維持使得恢復(fù)到先前幾天的特定點(diǎn)是可能的。該時(shí)間機(jī)特征能夠在恢復(fù)被誤處理或丟失的文件上非常有用。恢復(fù)到犯錯(cuò)誤之前的時(shí)間允許文件和系統(tǒng)狀態(tài)的完全恢復(fù)。
[0032]這些和其它頻繁寫入操作能夠?qū)е麻W存存儲(chǔ)器的早期故障,因?yàn)橛邢蘖康膶懭?擦除周期能夠很快地被超過。每個(gè)新的寫入要求舊的數(shù)據(jù)拷貝到新的塊以添加新的數(shù)據(jù)。如上面討論的,NAND存儲(chǔ)器中的每個(gè)存儲(chǔ)器位置僅能夠在基本上沒有增加故障的可能性情況下被更新大約1,000至3,000次。存在嘗試解決該問題的許多算法,諸如向存儲(chǔ)器過供給備件和耗損均勻化算法,其試圖將耗損均勻地?cái)U(kuò)展在整個(gè)閃存存儲(chǔ)器上面而不是將其集中在相同塊中。然而,這些技術(shù)可能增加成本并且降低固態(tài)驅(qū)動(dòng)器的性能。
[0033]下面示例描述各種固態(tài)驅(qū)動(dòng)器(SSD)體系結(jié)構(gòu)、方法和原理。這些SSD結(jié)合閃存存儲(chǔ)器用于非易失性存儲(chǔ),并且被設(shè)計(jì)成具有比常規(guī)SSD長(zhǎng)一個(gè)數(shù)量級(jí)的壽命以及以全總線速度操作,而不管閃存存儲(chǔ)器的限制。
[0034]說明性閃存存儲(chǔ)器模塊
圖2是說明性閃存存儲(chǔ)器模塊的圖示。如上面討論的,閃存存儲(chǔ)器是非易失性計(jì)算機(jī)存儲(chǔ),其能夠被電擦除和重新編程。如上面討論的,閃存存儲(chǔ)器具有高的抗機(jī)械沖擊、小的占用空間、可與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(RAM)相比的相對(duì)快速的讀取時(shí)間,是能量高效的并且能夠在沒有功率的情況下存儲(chǔ)數(shù)據(jù)一些年。閃存存儲(chǔ)器被用在各種應(yīng)用(包含個(gè)人計(jì)算機(jī)、移動(dòng)裝置、數(shù)字照相機(jī)、視頻游戲、科學(xué)儀器、工業(yè)機(jī)器人、醫(yī)學(xué)電子設(shè)備和其它裝置)中。閃存存儲(chǔ)器具有幾個(gè)限制,包含慢的寫入時(shí)間和有限的壽命。對(duì)于閃存存儲(chǔ)器而言,寫入次數(shù)典型地比讀取次數(shù)大一個(gè)數(shù)量級(jí)。各種類型的閃存存儲(chǔ)器的壽命典型地范圍從1000到3000個(gè)擦除周期。閃存存儲(chǔ)器的擦除引起遞增的損害,其最終導(dǎo)致閃存存儲(chǔ)器中的存儲(chǔ)機(jī)構(gòu)的故障。
[0035]在圖2中示出的說明性閃存存儲(chǔ)器模塊包含許多NAND閃存管芯。存儲(chǔ)器控制器包含處理器、小量的隨機(jī)存取存儲(chǔ)器(RAM)、小量的只讀存儲(chǔ)器(R0M)、以及許多存儲(chǔ)緩沖器。該存儲(chǔ)器控制器的示例由以下給出:Charles 1.Peddle的標(biāo)題為“High Speed USBControllers”的代理人案號(hào)034901-303