專利名稱:一種基于閃存記憶體的大容量存儲(chǔ)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于閃存記憶體存儲(chǔ)領(lǐng)域,特別是取代傳統(tǒng)硬盤的閃存存儲(chǔ)裝置領(lǐng)域。
背景技術(shù):
閃存記憶體和傳統(tǒng)的硬盤是目前市場(chǎng)上主流的數(shù)據(jù)存儲(chǔ)媒介。其中閃存記憶體最主要的好處在于省電、具有較小的體積、抗震性高與可靠度佳等。市場(chǎng)上的USB存儲(chǔ)盤、MP3播放器、PMP個(gè)人多媒體播放器與記憶卡等絕大部分都是以閃存記憶體作為儲(chǔ)存的媒介。可以預(yù)見地,在強(qiáng)調(diào)輕薄短小的趨勢(shì)下,閃存記憶體的應(yīng)用會(huì)越來越普及。
目前市場(chǎng)上閃存記憶體規(guī)格涵蓋了很多的種類包含SLC(Single level cell)、MLC(multi level cell)和AG-NAND等,這些閃存記憶體除了規(guī)格上的不同外,讀寫數(shù)據(jù)的方式與效率也有不同。不過以SLC的閃存記憶體在讀寫效率和可靠度上是最高的,但其單價(jià)較高。因此目前大都使用SLC的閃存為主流,但隨著產(chǎn)品價(jià)格不斷的壓低,使得產(chǎn)品供貨商不得不在其它方面做些妥協(xié),漸漸的使用MLC的廠商也越來越多。閃存廠商對(duì)于MLC閃存的研發(fā)更是不遺余力,閃存以每年兩倍的復(fù)合成長(zhǎng)速度在增加。
目前市場(chǎng)上開始有少部份的廠商研發(fā)以閃存記憶體硬盤取代傳統(tǒng)的硬盤。主要是看重其省電以及抗震性勝于傳統(tǒng)的硬盤。目前傳統(tǒng)硬盤的市場(chǎng)占有率仍遠(yuǎn)高于閃存記憶體硬盤,主要的原因是早期閃存記憶體的成本太高、供貨量不穩(wěn)定、傳輸速率慢與容量低等問題。但隨著制造閃存記憶體的供貨商不斷的投入開發(fā)與增加產(chǎn)能,利用更先進(jìn)的技術(shù),使得閃存記憶體的容量一直不斷的持續(xù)增加,價(jià)格也漸漸合理化,閃存記憶體不再只局限在小型的移動(dòng)存儲(chǔ)裝置上。預(yù)見在未來幾年內(nèi),閃存記憶體硬盤極有可能會(huì)取代傳統(tǒng)式硬盤成為數(shù)據(jù)儲(chǔ)存的主流媒介。
當(dāng)閃存記憶體的技術(shù)成熟后,各家廠商便開始思考如何將閃存記憶體使用于IA產(chǎn)品上。隨著閃存記憶體在一些大廠如三星、東芝等擴(kuò)廠增加產(chǎn)能之后,目前所有的移動(dòng)存儲(chǔ)裝置產(chǎn)品中,存儲(chǔ)媒介以閃存記憶體的占有率最大。但閃存記憶體的存取效率普遍不高,并且有容量限制的問題,無法作為在大型系統(tǒng)上的存儲(chǔ)媒介,主要的原因除了閃存記憶體本身的存取速度造成外,整個(gè)閃存記憶體存取系統(tǒng)的設(shè)計(jì)架構(gòu)更是一個(gè)主要的問題。
目前閃存記憶體硬盤的設(shè)計(jì)架構(gòu)大都以單一閃存記憶體控制器去控制閃存,此種方式只能應(yīng)用在低數(shù)量閃存記憶體的系統(tǒng)。但面對(duì)市場(chǎng)上對(duì)高容量與高數(shù)量閃存記憶體存儲(chǔ)裝置的迫切需求與日俱增,單一閃存記憶體控制器系統(tǒng),僅能控制少數(shù)量的閃存記憶體是不夠的。如何才能控制更多的閃存記憶體來達(dá)到傳統(tǒng)硬盤的容量、如何改善對(duì)多閃存記憶體存取時(shí)負(fù)載電容會(huì)降低操作頻率的問題,以維持較高的工作頻率,從而達(dá)到與傳統(tǒng)的硬盤相當(dāng)?shù)乃俣?,是各家廠商所亟欲發(fā)展的技術(shù)。
除了容量問題之外,存取的效率也是一個(gè)關(guān)鍵的課題。傳統(tǒng)的硬盤,其規(guī)格已經(jīng)發(fā)展到了ULTRA 133,數(shù)據(jù)總線頻寬每秒可以達(dá)到133 Mbytes,遠(yuǎn)遠(yuǎn)地超過了閃存記憶體的存取速度。所以欲利用閃存記憶體來取代傳統(tǒng)硬盤,仍有一些尚待克服的問題。
因此,現(xiàn)階段的閃存記憶體硬盤技術(shù),仍面臨著一些問題包含容量上的限制與數(shù)據(jù)傳輸效率不佳等。
目前因?yàn)槭袌?chǎng)上的閃存記憶體硬盤需求并不是很大,專門為了此需要開一顆功能特別的IC,需要花費(fèi)不少費(fèi)用,并不符合經(jīng)濟(jì)效益成本。所以如果可以對(duì)目前現(xiàn)有的閃存記憶體控制器的功能加以延伸,并透過外部的邏輯線路,使其可以符合閃存記憶體硬盤的需要,會(huì)是一個(gè)不錯(cuò)的選擇。
發(fā)明內(nèi)容
本發(fā)明鑒于目前市面上閃存裝置面臨存取速度不佳、容量不易擴(kuò)充等缺點(diǎn),故開發(fā)此架構(gòu)。此發(fā)明系如第2圖所示,利用多個(gè)閃存控制器,采用Master-Slave架構(gòu)的控制方式,來提升容量的限制以及性能。
在這多個(gè)控制器中,Master和Slave控制器有相同數(shù)量以及定義的腳位,內(nèi)部的邏輯也相同。使用者可以利用一個(gè)I/O腳位,設(shè)定控制器是 Master或是Slave。Master和Slave的ICP協(xié)議透過Data-In以及Data-Out傳遞數(shù)據(jù)。其腳位定義如第1圖所示。
任一控制器利用外部控制信號(hào)與多芯片間的操作協(xié)議,可以得知自己是不是一個(gè)Master控制器。Master控制器可以選擇連不連接閃存記憶體,但其最主要的目的是在收到外部存取的命令時(shí),判斷要訪問哪一個(gè)Slave控制器上的閃存,然后透過特有的ICP(Inter-Chip Protoco1),將存取的命令送到要負(fù)責(zé)存取閃存記憶體的Slave控制器,然后該Slave控制器便存取數(shù)據(jù),并透過系統(tǒng)數(shù)據(jù)總線傳回。此系統(tǒng)數(shù)據(jù)總線可以為8、16或是32位。系統(tǒng)啟動(dòng)時(shí),Master控制器需要將系統(tǒng)的數(shù)據(jù)配置信息,建立表格。Master控制器需要知道系統(tǒng)的拓?fù)浼軜?gòu),以及外部欲存取數(shù)據(jù)所在的閃存記憶體由哪一個(gè)控制器所控制,以及要如何將數(shù)據(jù)送到該控制器。透過此種方式便可以利用現(xiàn)有的控制器,輕易的將系統(tǒng)的容量提升。
為了要在Master和多顆Slave控制器之間取得同步,Master控制器要負(fù)責(zé)提供頻率給Slave控制器,如第3圖所示。Master控制器的頻率是來自系統(tǒng)外部的震蕩器,經(jīng)由CLK_IN信號(hào)得到。此頻率經(jīng)過控制器內(nèi)的PLL電路除頻后,再將除頻后的頻率經(jīng)由CLK_OUT信號(hào)傳送給所有的Slave控制器。
此外,因?yàn)镮DE以及CF界面的速度均超過閃存記憶體的存儲(chǔ)速度,所以我們需要一些加速的機(jī)制。閃存記憶體的速度限制在存取每個(gè)閃存記憶體時(shí)需要檢查此閃存記憶體的Ready/Busy是否已經(jīng)釋放,如果此時(shí)閃存記憶體還處在忙碌的狀況,Ready/Busy沒有放下,則無法對(duì)其做寫入的動(dòng)作,此部分所需要的等待時(shí)間不少。如第5圖所示,當(dāng)寫入第一顆控制器數(shù)據(jù)時(shí),必須確定第一顆控制器上閃存的Ready/Busy信號(hào)釋放時(shí),才能將數(shù)據(jù)寫入第二顆Slave控制器。我們采用數(shù)顆控制器同時(shí)存取的方法來降低Ready/Busy所影響的性能,如第6圖所示。假設(shè)Master控制器要將數(shù)據(jù)寫入Slave控制器上的閃存時(shí),Master控制器將命令和數(shù)據(jù)依序利用ICP傳送到該Slave控制器,Slave控制器將數(shù)據(jù)寫入這些閃存。Master傳送完之后便檢查每個(gè)Slave控制器對(duì)應(yīng)閃存記憶體的Ready/Busy信號(hào)現(xiàn)是否已經(jīng)釋放。如果都釋放了,才將下一次要寫入的數(shù)據(jù)以及命令依序的傳送到Slave控制器。此作法的好處在于可以省下等待每一個(gè)Slave控制器上閃存Ready/Busy信號(hào)所累積的時(shí)間。
另外,當(dāng)系統(tǒng)的控制器連接超過一定數(shù)量的閃存記憶體時(shí),會(huì)因?yàn)橐恍╇娮咏M件如電容數(shù)量的累積,而產(chǎn)生的噪聲現(xiàn)象,此時(shí)必須降低所有控制器的工作頻率。因?yàn)樗锌刂破鞯墓ぷ黝l率都是由Master控制器所提供,所以Master控制器必須有一組可以設(shè)定頻率的電路,可以產(chǎn)生多組的頻率,滿足不同數(shù)量閃存記憶體的需要,達(dá)到最佳的性能。
此外,在市面上常見的閃存控制器芯片,在控制一定數(shù)量的閃存后,因?yàn)樨?fù)載電容與PCB布局的因素,數(shù)據(jù)總線在連接四到八顆閃存記憶體時(shí),其工作頻率尚能維持在較高的額定范圍,也基本能保持波型的準(zhǔn)確性,超過此一數(shù)量范圍,往往必須靠降低工作頻率來確保波型的準(zhǔn)確性,故利用多個(gè)獨(dú)立的數(shù)據(jù)總線來存取固定數(shù)量以內(nèi)的閃存記憶體,可以降低PCB布局的復(fù)雜度與確保存取閃存記憶體的準(zhǔn)確性,以便維持整體的高容量、高性能與穩(wěn)定性。
第1圖控制器腳位圖。
第2圖多閃存系統(tǒng)的基本架構(gòu)圖。
第3圖系統(tǒng)頻率示意圖。
第4圖控制器啟動(dòng)流程圖。
第5圖傳統(tǒng)閃存記憶體控制流程圖。
第6圖改進(jìn)閃存記憶體控制流程圖。
第7圖資料寫入流程圖。
第8圖數(shù)據(jù)讀取流程圖。
第9圖單一控制器在PCB布局后的信號(hào)圖。
第10圖多顆閃存記憶體多重負(fù)載電路信號(hào)圖。
主要組件符號(hào)說明100閃存記憶體的控制腳位。
101Master/Slave的型態(tài)選擇腳位。
102頻率輸入腳位。
103頻率輸出腳位。
104ICP信號(hào)輸入的腳位。
105ICP信號(hào)輸出的腳位。
200外部IDE/CF的接口界面。
201內(nèi)部系統(tǒng)的總線。
202內(nèi)部溝通使用的ICP協(xié)議。
具體實(shí)施例方式
為進(jìn)一步的闡明本發(fā)明的流程以及所使用的方法,將本方法的過程以及使用的方法,利用下方面的流程圖加以說明。
系統(tǒng)啟動(dòng)的流程,如圖4所示,每一個(gè)控制器會(huì)檢查本身型態(tài)I/O腳位,如果電平為高時(shí),表示此控制器被設(shè)定為Master控制器,反之則表示此控制器被設(shè)定為Slave控制器。如果此控制器為Master控制器,為了考慮到系統(tǒng)的同步問題,得先決定工作頻率,此工作頻率為使用者的設(shè)定值。如果使用者希望有較好的效能,可以將工作頻率設(shè)定為一個(gè)較高的值,可是在連接多顆閃存以及控制器時(shí),將面臨到穩(wěn)定性的問題。另外,關(guān)于穩(wěn)定性的問題如圖9所示,當(dāng)電路板上的基本電路輸出的控制信號(hào)正常時(shí),在圖面上會(huì)呈現(xiàn)ㄇ型。但當(dāng)電路所承受的負(fù)載越大,如電子組件數(shù)量過多時(shí),則會(huì)因電路板布局產(chǎn)生高頻被慮除或衰減的現(xiàn)象,當(dāng)負(fù)載越來越大,則在信號(hào)圖上呈現(xiàn)波型。以圖10為例,當(dāng)在電路板上的控制器連接多顆閃存記憶體時(shí)會(huì)因?yàn)榭刂破鞯呢?fù)載加大,因此輸出信號(hào)會(huì)產(chǎn)生很大的高頻衰減與相移,因此在信號(hào)圖上呈現(xiàn)波型。因此,當(dāng)此現(xiàn)象發(fā)生時(shí)需降低所有控制器的工作頻率,以減少高頻衰減與相移的產(chǎn)生。
Master控制器然后需要知道系統(tǒng)的拓?fù)浼軜?gòu),知道哪一個(gè)控制器控制什么邏輯扇區(qū)范圍之內(nèi)的數(shù)據(jù)。因?yàn)镸aster和Slave可以有各自的管理方式,所以Master無法確定的知道邏輯扇區(qū)數(shù)據(jù)在Slave控制器的放置位置(閃存記憶體位置)和方式,只能透過ICP通知Slave告知想要什么邏輯扇區(qū)的數(shù)據(jù)。當(dāng)拓?fù)浣Y(jié)構(gòu)建立完成之后,因?yàn)镸aster本身可以選擇要不要控制閃存,如果連接閃存,Master本身同時(shí)具備了Master和Slave兩種功能。此時(shí)Master需要初始一些表格,如物理地址對(duì)應(yīng)表(Logical To Physical Translation Table)等等。最后就只剩下IDE/CF接口的設(shè)定以及初始化,等待遠(yuǎn)程IDE/CF的命令,進(jìn)行數(shù)據(jù)存取的動(dòng)作。如果控制器被設(shè)定為Slave模式時(shí),只需要進(jìn)行一些表格初始化的動(dòng)作,然后等待Master控制器利用ICP協(xié)議傳送的命令。
寫入的流程如圖7所示,當(dāng)IDE/CF接口想要進(jìn)行寫入的動(dòng)作時(shí),Master控制器會(huì)在IDE/CF接口(LBA緩存器)收到此命令,包含了寫入的邏輯扇區(qū)以及扇區(qū)長(zhǎng)度等等。Master首先設(shè)定DMA緩存器(若IDE/CF接口為Ultra模式)數(shù)據(jù)長(zhǎng)度以及數(shù)據(jù)位置,然后對(duì)照系統(tǒng)啟動(dòng)時(shí)所建立的拓?fù)鋽?shù)據(jù)架構(gòu),確認(rèn)每一次寫入時(shí)需要將數(shù)據(jù)以及邏輯位置利用ICP傳送給哪些Slave控制器。等到外部透過IDE/CF DMA將數(shù)據(jù)緩沖區(qū)寫滿時(shí)(一個(gè)扇區(qū)512字節(jié)),便將此數(shù)據(jù)利用內(nèi)部DMA,將數(shù)據(jù)傳送給對(duì)應(yīng)的Slave控制器,Slave控制器利用其內(nèi)部的表格,將數(shù)據(jù)寫入到其所連接的閃存記憶體上。
當(dāng)所有的Slave控制器都被寫入后,便檢查所有的Slave控制器的Ready/Busy信號(hào)是否釋放,若都已釋放則可以進(jìn)行下一輪的寫入動(dòng)作,直到所有的數(shù)據(jù)都寫入完成為止。
讀取的流程如圖8所示,當(dāng)IDE/CF接口想要進(jìn)行讀取的動(dòng)作時(shí),Master控制器會(huì)在IDE/CF接口(LBA緩存器)收到此命令,此命令包含了讀取的邏輯扇區(qū)地址以及扇區(qū)長(zhǎng)度等等。Master首先設(shè)定DMA緩存器(若IDE/CF接口為Ultra模式)數(shù)據(jù)長(zhǎng)度以及數(shù)據(jù)位置,然后對(duì)照系統(tǒng)啟動(dòng)時(shí)所建立的拓?fù)鋽?shù)據(jù)架構(gòu),知道這一次讀取動(dòng)作需要利用ICP在哪些Slave控制器的邏輯位置讀取數(shù)據(jù)。然后將命令以及邏輯扇區(qū)位置送到所有相關(guān)的Slave控制器,之后Master控制器檢查是否所有的Slave控制器的Ready/Busy都已經(jīng)釋放。若是則表示所有Slave的控制器中的數(shù)據(jù)都以被讀取,Master控制器利用內(nèi)部DMA將讀取的數(shù)據(jù)由Slave控制器傳送到系統(tǒng)緩沖區(qū),Master控制器再將系統(tǒng)緩沖區(qū)內(nèi)的數(shù)據(jù)利用外部DMA傳送到遠(yuǎn)程。
權(quán)利要求
1.一種利用多個(gè)控制器,采用Master-Slave架構(gòu),并通過ICP協(xié)議進(jìn)行通信管理來提升存儲(chǔ)容量和性能的存儲(chǔ)方法和裝置。其特征在于該裝置包含外部接口界面,多個(gè)控制器,半導(dǎo)體存儲(chǔ)媒介,可以取代傳統(tǒng)硬盤。
2.如權(quán)利要求1所述的外部接口界面,包含但不限于IDE/CF接口界面。
3.如權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)媒介,包含但不限于SLC/MLC NAND型閃存記憶體、AGAND型閃存記憶體、NROM型閃存記憶體、NOR型閃存記憶體等等。
4.如權(quán)利要求1所述的多個(gè)控制器,包含一個(gè)Master控制器和不少于一個(gè)的Slave控制器。
5.如權(quán)利要求4所述的Master控制器和Slave控制器,其特征在于Master和Slave控制器有相同數(shù)量以及定義的腳位,內(nèi)部的邏輯也相同;控制器應(yīng)包含但不限于提供其他腳位用以控制半導(dǎo)體存儲(chǔ)元器件;控制器至少可以提供一個(gè)I/O腳位,用于設(shè)定控制器是Master或是Slave;控制器還應(yīng)至少提供Data-In以及Data-Out腳位用于Master和Slave的ICP協(xié)議數(shù)據(jù)傳遞;控制器還應(yīng)至少提供CLK IN和CLK OUT腳位用于同步整個(gè)系統(tǒng)中多個(gè)控制器的工作時(shí)序。
6.如權(quán)利要求1所述的提升存儲(chǔ)設(shè)備的性能,其處理過程如下Master控制器將需要寫入的數(shù)據(jù)分配好,根據(jù)ICP協(xié)議依序?qū)?shù)據(jù)和命令送到各對(duì)應(yīng)的Slave控制器,接著檢查每個(gè)Slave控制器的Ready/Busy信號(hào)現(xiàn)是否已經(jīng)釋放,等到所有對(duì)應(yīng)的Slave控制器的Ready/Busy信號(hào)已經(jīng)釋放后,再進(jìn)行下一輪數(shù)據(jù)和命令的傳送,如此可以減少等待每個(gè)Slave控制器釋放Ready/Busy信號(hào)所累計(jì)的時(shí)間。
7.如權(quán)利要求1所述的Master-Slave架構(gòu),其特征在于Master控制器還應(yīng)有一組可以設(shè)定工作頻率的電路,可以產(chǎn)生多組的頻率,滿足不同數(shù)量閃存記憶體的需要,達(dá)到最佳的性能。
8.如權(quán)利要求1至7所述的Master-Slave結(jié)構(gòu),并通過ICP協(xié)議進(jìn)行通信管理來提升存儲(chǔ)容量和性能的存儲(chǔ)方法適用于任何的閃存記憶體存儲(chǔ)裝置,例如U盤(包含但不限于USB Pendriver 1.1/2.0)、PMP Player、存儲(chǔ)卡(包含但不限于SD/MMC/CF/Memory Stick/XD)和MP3 Player等。
全文摘要
本發(fā)明公開了一種基于閃存記憶體的大容量存儲(chǔ)裝置和方法。所述方法是對(duì)多個(gè)目前現(xiàn)有的閃存記憶體控制器的功能加以延伸,通過采用Master-Slave架構(gòu)的方式去控制大數(shù)量閃存記憶體的技術(shù),再加上ICP(Inter-Chip Protocol)協(xié)議的架構(gòu)來提升容量的限制以及性能。該發(fā)明可以應(yīng)用于各種大容量的閃存存儲(chǔ)裝置上,達(dá)到如目前硬盤的容量、傳輸速度,從而取代傳統(tǒng)硬盤的目的。而且所述發(fā)明只需對(duì)目前現(xiàn)有的閃存記憶體控制器的功能加以延伸,無需專門針對(duì)此要求開發(fā)專門的閃存硬盤控制器,從而降低了研發(fā)成本,縮短了研發(fā)周期。
文檔編號(hào)G06F3/06GK1936817SQ20061006217
公開日2007年3月28日 申請(qǐng)日期2006年8月18日 優(yōu)先權(quán)日2006年8月18日
發(fā)明者林清益 申請(qǐng)人:福昭科技(深圳)有限公司