本實用新型涉及電子技術(shù)領(lǐng)域,尤其是一種固態(tài)硬盤。
背景技術(shù):
固態(tài)硬盤 (Solid State Disk) 用固態(tài)電子存儲芯片為存儲介質(zhì)的硬盤,由控制器單元和存儲單元組成。存儲單元中NAND FLASH為使用最為廣泛的存儲介質(zhì)。
由于NAND FLASH的特性,固態(tài)硬盤具有如下特點:
1.高速緩存(Buffer):
NAND FLASH中的每一個存儲數(shù)據(jù)和塊頁面的擦除和寫入速度都是不同的。為了提高寫入性能的穩(wěn)定性,固態(tài)硬盤寫入的數(shù)據(jù)會先放入高速緩存(Buffer)中,再被寫入到多個NAND FLASH中。另外,固態(tài)硬盤在正常使用中也會將一些系統(tǒng)關(guān)鍵信息放入高速緩存中。所以高速緩存中存放有:尚未寫入NAND FLASH的緩存數(shù)據(jù)和系統(tǒng)關(guān)鍵信息。當(dāng)固態(tài)硬盤的外部電源關(guān)斷時,高速緩存中的數(shù)據(jù)將會丟失;
為了可靠保存高速緩存中的數(shù)據(jù)不被丟失,固態(tài)硬盤配置有備電模塊,以便在外部電源關(guān)斷時,提供短時間的電源,讓控制器將高速緩存中的數(shù)據(jù)寫入到NAND FLASH中。
2.邏輯單元READY/BUSY(空閑/忙碌)監(jiān)測:
根據(jù)ONFI和Toggle協(xié)議要求:在對NAND FLASH進(jìn)行擦除或?qū)懭氩僮鲿r,必須先查詢將寫入?yún)^(qū)域的FLASH邏輯單元(LUN)的狀態(tài),當(dāng)檢測到狀態(tài)為空閑(Ready)時再進(jìn)行操作。否則NAND FLASH將不會響應(yīng)控制器命令。
目前行業(yè)通常做法:
1.固態(tài)硬盤控制器通過命令訪問NAND FLASH的每一個邏輯單元(LUN),但對于具有多個NAND FLASH芯片的固態(tài)硬盤,將會有幾十個邏輯單元。固態(tài)硬盤控制器完成所有邏輯單元的狀態(tài)訪問至少需要幾百微秒甚至毫秒級的時間。對于一些對時間要求極為苛刻的操作,如:固態(tài)硬盤掉電前高速緩存中的數(shù)據(jù)寫入。由于備電模塊供電所持續(xù)的時間通常只有毫秒級的時間,訪問邏輯單元耗費的時間對備電模塊的儲能消耗將會非常大;
2. 固態(tài)硬盤控制器定義與所需NAND FLASH邏輯單元等數(shù)量的物理引腳,直接與NAND FLASH每一個邏輯單元READY/BUSY(空閑/忙碌)信號引腳相連接。此方案要求固態(tài)硬盤控制芯片設(shè)計時至少需多預(yù)留幾十個引腳,而引腳數(shù)量直接影響芯片的體積和制造成本。
由此可見兩種方案中都有較大的弊端,在實際應(yīng)用中都有顯然存在不便與缺陷,所以有必要加以改進(jìn)。
技術(shù)實現(xiàn)要素:
本實用新型所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)不足,提供一種固態(tài)硬盤。
為解決上述技術(shù)問題,本實用新型所采用的技術(shù)方案是:一種固態(tài)硬盤,包括多個NAND FLASH和固態(tài)硬盤控制器;所述固態(tài)硬盤控制器包括狀態(tài)寄存器;所述多個NAND FLASH的空閑/忙碌信號引腳均通過監(jiān)測引腳接入所述狀態(tài)寄存器。
與現(xiàn)有技術(shù)相比,本實用新型所具有的有益效果為:本實用新型只需定義一個引腳監(jiān)控,在所有NAND FLASH都為空閑狀態(tài)時,可直接判斷NAND FLASH為空閑狀態(tài),無需花費固態(tài)硬盤控制器通過命令訪問NAND FLASH的每一個邏輯單元所耗費的時間;僅增加一個芯片引腳,對芯片體積和制造成本沒有影響。
附圖說明
圖1為本實用新型實施例電路框圖;
圖2為本實用新型實施例1處理流程圖。
圖3為本實用新型實施例2處理流程圖。
具體實施方式
如圖1所示,固態(tài)硬盤控制器定義一個直接與固態(tài)控制器內(nèi)部狀態(tài)寄存器連接的硬件引腳(監(jiān)測引腳),此硬件引腳可以是通用輸入輸出引腳(GPIO),也可以是專用的FLASH狀態(tài)檢測引腳(READY/BUSY INPUT),硬件引腳的狀態(tài)將直接體現(xiàn)在固態(tài)硬盤控制器內(nèi)部狀態(tài)寄存器中;將固態(tài)硬盤內(nèi)所有NAND FLASH芯片的READY/BUSY(空閑/忙碌)信號引腳接到一起,并連接到上述硬件引腳。
實施例 1
圖2示出根據(jù)實施例1的減少固態(tài)硬盤全盤操作等待時間的方法的流程圖。如圖2所示,當(dāng)外部電源關(guān)閉固態(tài)硬盤掉電時,固態(tài)硬盤使用備電模塊供電,固態(tài)硬盤控制器啟動掉電流程:
一方面,固態(tài)硬盤控制器讀取內(nèi)部狀態(tài)寄存器獲悉所有NAND FLASH芯片的狀態(tài),當(dāng)檢測到所有NAND FLASH狀態(tài)為忙碌時,固態(tài)硬盤控制器將循環(huán)持續(xù)檢測此狀態(tài)寄存器;
當(dāng)檢測到所有NAND FLASH狀態(tài)為空閑,控制器將會向FLASH中寫入固態(tài)硬盤的映射表項和尚未寫入FLASH中的緩存數(shù)據(jù);
另一方面,固態(tài)硬盤控制器通過輪循的方式訪問所有NAND FLASH的每一個邏輯單元,直到有足夠的邏輯單元為空閑可用于存放緩存數(shù)據(jù),并且控制器的READY/BUSY(空閑/忙碌)狀態(tài)寄仍然為忙碌是,存器控制器將會向FLASH中寫入固態(tài)硬盤的映射表項和尚未寫入FLASH中的緩存數(shù)據(jù)。
控制器直接訪問內(nèi)部寄存器只需要幾個時鐘周期,只需要納秒級即可完成對所有NAND FLASH狀態(tài)為空閑的監(jiān)測。而固態(tài)硬盤控制器完成所有邏輯單元的狀態(tài)訪問需要至少幾百微秒,甚至毫秒級的時間。此方法將大幅度縮減固態(tài)硬盤在寫入緩存數(shù)據(jù)前的等待時間。
實施例 2
圖3示出根據(jù)實施例2的減少固態(tài)硬盤全盤操作等待時間的方法的流程圖。如圖3所示,當(dāng)主機(jī)下發(fā)對固態(tài)硬盤進(jìn)行全盤擦除操作時:
固態(tài)硬盤控制器讀取內(nèi)部狀態(tài)寄存器獲悉所有NAND FLASH芯片的狀態(tài),當(dāng)檢測到所有NAND FLASH狀態(tài)為忙碌時,固態(tài)硬盤控制器將循環(huán)持續(xù)檢測此狀態(tài)寄存器;
當(dāng)檢測到所有NAND FLASH狀態(tài)為空閑,控制器將會向所有的NAND FLASH邏輯單元進(jìn)行擦除操作。
對于具有多個NAND FLASH芯片的固態(tài)硬盤,將會有幾十個邏輯單元。如:64G的MCL FLASH共計有4個邏輯單元,一個512G的固態(tài)硬盤需要8顆64G的FLASH芯片,固態(tài)硬盤共計有32個邏輯單元。固態(tài)硬盤控制器完成所有邏輯單元的狀態(tài)訪問需要至少幾百微秒,如遇到有邏輯單元正在進(jìn)行擦除或?qū)懭氲骄幊虝r間較慢的頁面時(page),所耗費的時間將達(dá)到毫秒級。而控制器直接訪問內(nèi)部寄存器只需要幾個時鐘周期,只需要納秒級即可完成對所有NAND FLASH狀態(tài)為空閑的監(jiān)測。此方法將大幅度縮減固態(tài)硬盤對全盤所有邏輯單元操作前的等待時間。