專利名稱:固態(tài)硬盤及處理其管理數(shù)據的方法
技術領域:
本發(fā)明涉及通信電子領域,尤其涉及一種固態(tài)硬盤及處理固態(tài)硬盤中管理 數(shù)據的方法。
背景技術:
隨著電子技術的發(fā)展,中央處理單元(Central Processing Unit, CPU)運行 頻率在20年間增加了 600倍,而存儲器的容量更是增加了上萬倍。然而,伴隨 著數(shù)據容量的爆炸性增長,存儲器讀取數(shù)據速度的瓶頸效應越來越明顯,傳統(tǒng) 的磁記錄存儲技術仍沒有取得重大突破。近年來一些廠商開始積極開發(fā)可以取 代磁記錄的存儲技術和產品,如基于閃存(flash)的固態(tài)硬盤(Solid State Disk, SSD)。由于采用flash存儲介質,它內部沒有機械結構,因此沒有數(shù)據查找時間、 延遲時間和尋道時間,讀取速度有了極大的提高。目前市場上主要有NOR和NAND兩類flash,英特爾(Intel)公司于1988 年首先開發(fā)出NOR flash技術,1989年,東芝公司發(fā)表了 NAND flash結構, 強調降低每比特的成本及更高的性能,并且跟磁盤一樣可以通過接口輕松升級。 NOR的特點是芯片內執(zhí)行,這樣應用程序可以直接在閃存內運行,不必再把代 碼讀到系統(tǒng)內存中。NOR的傳輸效率很高,在1-4MB的小容量時具有很高的 成本效益,但是其很低的寫入和擦除速度大大影響了它的性能。NAND結構能 提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。 不管是NOR flash還是NAND flash,都有塊的概念,整個flash在邏輯上由塊組 成, 一塊的容量大小不固定,可以有8KB、 16KB等。由于NAND flash在高密度方面比NOR flash有明顯的優(yōu)勢,所以一般都選 用NAND flash來做SSD。但是應用NAND的困難在于flash的管理,其中一個 問題就是壞塊管理。NAND flash陣列分為 一 系列128kB的區(qū)塊,由于NAND flash 的工藝不能保證其所有的塊在生命周期內的可靠性,在出廠時可能就存在隨機 分布的壞塊,所以需要壞塊標記,管理軟件負責根據壞塊表來映射壞塊并由好
的存儲塊取而代之。另外在使用中也可能產生新的壞塊,這時候需要建立新的 壞塊表來描述。除了壞塊表之外還必須有巻信息、^"寫信息、分配表等來管理NAND flash,這些管理信息對NAND flash來說是極為重要的。目前一般使用NAND flash的SSD把上述的管理信息都存放在SSD本身的 NANDflash上。如圖1所示,固態(tài)硬盤與前插服務器板連接,所述前插服務器 板上運行操作系統(tǒng)及SSD驅動等程序。所述前插服務器板通過一條4X的快速 外圍部件互連(Peripheral Component Interconnect Express, PCIE)總線與一個 PCIE到外圍部件互連(Peripheral Component Interconnect, PCI )總線的PCIE-PCI 橋連接,該PCIE-PC橋實現(xiàn)從PCIE總線到PCI總線的轉化。所述PCIE-PC橋 通過PCI總線與4個4吏用PCI接口的現(xiàn)場可編程門陣列(Field-Programmable Gate Array, FPGA)芯片連接,每個FPGA集成了 8個NAND flash的控制器,每個 控制器控制4個NAND flash芯片。如圖2所示,NAND flash芯片的各種管理信息(如出廠壞塊表、運行壞 塊表、映射關系信息、擦寫信息、備份信息等)和存儲業(yè)務數(shù)據的數(shù)據塊一起 存放在NAND flash芯片里面。發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有技術把 NAND flash的管理數(shù)據和業(yè)務數(shù)據都存放在NAND flash里面會導致用戶在對 業(yè)務數(shù)據進行擦寫操作時會誤把管理數(shù)據擦除,導致SSD不可用,使得SSD可 靠性較低。發(fā)明內容本發(fā)明實施例提供了 一種固態(tài)硬盤及處理固態(tài)硬盤中管理數(shù)據的方法,避免用戶誤操作把管理數(shù)據擦除,提高了固態(tài)硬盤的可靠性。一方面,本發(fā)明實施例提出了一種固態(tài)硬盤,其包括一數(shù)據接口單元,通過第一總線與處理板上的操作系統(tǒng)交換數(shù)據; 至少一個閃存控制單元,通過第二總線與所述數(shù)據接口單元連接,且每一個所述閃存控制單元控制著至少一個閃存芯片;一獨立于所述固態(tài)硬盤中的閃存芯片的管理數(shù)據存儲單元,通過第二總線 與所述數(shù)據接口單元連接,用于存儲所述閃存芯片的管理數(shù)據。另一方面,本發(fā)明實施例還提供了一種處理固態(tài)硬盤中管理數(shù)據的方法, 包括 獲得固態(tài)硬盤中閃存芯片的管理數(shù)據;將所述固態(tài)硬盤中的管理數(shù)據存儲到 一獨立于所述固態(tài)硬盤中的閃存芯片的管理數(shù)據存儲單元;根據驅動程序的控制命令更新所述管理數(shù)據存儲單元中的管理數(shù)據。 綜上所述,本發(fā)明實施例提供的一種固態(tài)硬盤及其管理方法通過單獨利用一個管理數(shù)據存儲單元存儲管理數(shù)據,將管理凄t椐和業(yè)務數(shù)據分開,使得用戶在對業(yè)務數(shù)據的操作過程中,不會由于誤操作而將管理數(shù)據擦除,減小了固態(tài)硬盤不可用的風險,提高了固態(tài)硬盤的可靠性。
圖1是現(xiàn)有固態(tài)硬盤與前插服務器板連接的結構示意圖;圖2是現(xiàn)有固態(tài)硬盤中閃存的塊結構示意圖;圖3是本發(fā)明實施例的一種固態(tài)硬盤的結構示意圖;圖4是本發(fā)明實施例中固態(tài)硬盤的閃存芯片的塊結構示意圖;圖5是本發(fā)明實施例中固態(tài)硬盤的管理數(shù)據存儲單元的數(shù)據結構示意圖;圖6是本發(fā)明實施例的一種固態(tài)硬盤與前插服務器板連接的結構示意圖;圖7是本發(fā)明實施例的一種處理固態(tài)硬盤中管理數(shù)據的方法的流程圖;圖8是圖7所述的步驟S73的具體流程圖;圖9是步驟S73的具體流程圖。
具體實施方式
下面結合附圖具體闡述本發(fā)明實施例提供的一種固態(tài)硬盤及處理固態(tài)硬盤 中管理數(shù)據的方法的技術方案。參考圖3,圖示了本發(fā)明實施例的一種固態(tài)硬盤的結構示意圖。所述固態(tài)硬 盤包括一數(shù)據接口單元31,通過第一總線與處理板(如前插服務器板)連接,所 述固態(tài)硬盤通過該數(shù)據接口單元與運行在處理板上的操作系統(tǒng)交換數(shù)據;一個閃存控制單元33,通過第二總線與所述數(shù)據接口單元31連接,且每一 個所述閃存控制單元控制著多個閃存芯片34;一管理數(shù)據存儲單元32,通過第二總線與所述數(shù)據接口單元31連接,用于 存儲所有閃存芯片34的管理數(shù)據,所述管理數(shù)據具體可以包括出廠壞塊表、運行壞塊表、映射關系信息、擦寫信息、備份信息等。其中,所述第一總線為PCIE總線,第二總線為PCI總線;所述數(shù)據接口單元31為PCIE-PCI橋,用于實現(xiàn)從PCIE總線到PCI總線的轉化。其中,所述管理數(shù)據存儲單元32的存儲介質具體可以為閃存或磁盤。 以上是本發(fā)明一個實施例而已,根據具體容量的要求, 一個固態(tài)硬盤可以包括多個閃存控制單元33,每一個閃存控制單元33下面可以控制一個或多個閃存芯片34。值得說明的是,如圖4所示,在本發(fā)明中,閃存芯片34的塊結構不再包括 管理數(shù)據,僅僅包括不可用的壞塊和存儲業(yè)務數(shù)據的數(shù)據塊。而管理數(shù)據則存 儲在管理數(shù)據存儲單元32中,如圖5所示,管理數(shù)據存儲單元32的數(shù)據結構 包括出廠壞塊表、運行壞塊表、映射關系信息、擦寫信息及備份信息等。為了進一步說明本發(fā)明實施例的固態(tài)硬盤的技術方案,下面提出了另 一具 體實施例。如圖6所示,固態(tài)硬盤60與前插服務器板連接,所述固態(tài)硬盤60包括 數(shù)據接口單元31,其具體可以為PC正-PCI橋,通過一條4X的PC正總線 連接到前插服務器板(SSD軟件運行子系統(tǒng)運行環(huán)境),實現(xiàn)PCIE總線到PCI 總線的轉化,固態(tài)硬盤可通過所述PCIE總線與運行在前插服務器板上的操作系 統(tǒng)交換數(shù)據。數(shù)據接口單元31通過PCI A 64bit@66M (位寬為64bit,頻率為66MHz的 PCI總線A)連接設置在扣板上的2個使用PCI接口的FPGA芯片,通過PCI B 64bit@66M (位寬為64bit,頻率為66MHz的PCI總線B )連接設置在底板上的 2個使用PCI接口的FPGA芯片,將扣板和底板扣合在一起則構成一個SSD產 品。其中,每個FPGA芯片上集成了 8個閃存控制器33 (具體可以為8個NAND flash控制器),每個閃存控制器33下控制著4個閃存芯片34(具體可以為NAND flash芯片)。每個閃存芯片34的塊結構不再包括管理數(shù)據,僅僅包括不可用的 壞塊和存儲業(yè)務數(shù)據的數(shù)據塊。同時,在數(shù)據接口 31上連接一個管理數(shù)據存儲單元32,用于存儲固態(tài)硬盤 中閃存芯片的管理數(shù)據,具體可以由NOR flash芯片實現(xiàn),當然也可以由其它存 儲介質實現(xiàn),如磁盤等。管理數(shù)據存儲單元32的數(shù)據結構包括出廠壞塊表、
運行壞塊表、映射關系信息、擦寫信息及備份信息等。上面具體闡述了本發(fā)明實施例的一種固態(tài)硬盤的技術方案,下面結合圖7 詳細闡述本發(fā)明實施例的一種處理固態(tài)硬盤中管理數(shù)據的方法的技術方案。如圖7所示,圖示了本發(fā)明實施例的一種處理固態(tài)硬盤中管理數(shù)據的方法 的流程圖;所述方法包括步驟S71,獲得固態(tài)硬盤中閃存芯片的管理數(shù)據;步驟S72,將所述固態(tài)硬盤中的管理數(shù)據存儲到 一獨立于所迷固態(tài)硬盤中的 閃存芯片的管理數(shù)據存儲單元;S73,根據驅動程序的控制命令更新所述管理數(shù)據存儲單元中的管理數(shù)據。其中,所述管理數(shù)據存儲單元中存儲有該固態(tài)硬盤的管理數(shù)據,如出廠 壞塊表、運行壞塊表、映射關系信息、擦寫信息及備份信息等。步驟S71具體包括所述出廠壞塊表信息從閃存芯片中獲取,以及所述運行壞塊表、映射關系信息、擦寫信息及備份信息由上層軟件(如驅 動程序)生成。開始在初始化過程中,驅動程序從管理數(shù)據存儲單元(如NOR flash芯片) 中取出映射關系信息,并在內存中建立索引,當內存中的索引更新時將寫回更 新后的索引信息寫回所述管理數(shù)據存儲單元。以處理固態(tài)硬盤的管理數(shù)據中的擦寫信息為例,如圖8所示,圖7所述的 步驟S73具體包括步驟S1,根據驅動程序判斷是否對閃存芯片(如NAND flash芯片)進行 擦寫操作,如杲是,則執(zhí)行步驟S3,否則執(zhí)行步驟S2;步驟S2,退出對閃存芯片的操作;步驟S3,對所述閃存芯片進行擦寫操作,并更新管理數(shù)椐存儲單元中的擦 寫信息中塊的擦寫次數(shù);步驟S4,根據所述管理數(shù)據存儲單元中的擦寫信息,判斷所述閃存芯片某 一塊的擦寫次數(shù)是否達到一閾值,如果未達到所述閾值,則執(zhí)行步驟S5,否貝'J, 執(zhí)行步驟S6;步驟S5,正常操作閃存芯片;步驟S6,根據磨損平衡機制選擇另一擦寫次數(shù)未達到所述閾值的塊進行擦寫操作(具體為用纟察寫次數(shù)較少的塊替代擦寫次數(shù)較多的塊); 步驟S7,更新管理數(shù)據存儲單元中的映射關系信息。以處理固態(tài)硬盤的管理數(shù)據中的運行壞塊表信息為例,如圖9所示,圖7 所述的步驟S73具體包括步驟S81,檢測是否出現(xiàn)擦寫錯誤,如果是,則執(zhí)行步驟S83,否則執(zhí)行步 驟S82;步驟S82,正常凈喿作閃存芯片;步驟S83,判斷是否由壞塊導致擦寫錯誤,如果是,則執(zhí)行步驟S84,否貝'J, 執(zhí)行步驟S82;步驟S84,更新管理數(shù)據存儲單元中的運行壞塊表信息; 步驟S85,利用一個保留塊替換所述壞塊,同時更新管理數(shù)據存儲單元中的 映射關系信息。綜上所述,本發(fā)明實施例提供的一種固態(tài)硬盤及處理固態(tài)硬盤中管理數(shù)據 的方法,通過單獨利用一個管理數(shù)據存儲單元存儲管理數(shù)據,將管理數(shù)據和業(yè) 務數(shù)據分開,使得用戶在對業(yè)務數(shù)據的操作過程中,不會由于誤操作而將管理 數(shù)據擦除,減小了固態(tài)硬盤不可用的風險,提高了固態(tài)硬盤的可靠性,同時由 于采用單獨的管理數(shù)據存儲單元來存儲管理數(shù)據,這樣有利于管理數(shù)據實現(xiàn)冗 余備份。以上所揭露的僅為本發(fā)明一種較佳實施例而已,當然不能以此來限定本發(fā) 明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的 范圍。
權利要求
1、一種固態(tài)硬盤,其特征在于,包括一數(shù)據接口單元,用于通過第一總線與處理板上的操作系統(tǒng)交換數(shù)據;至少一個閃存控制單元,通過第二總線與所述數(shù)據接口單元連接,且每一個所述閃存控制單元控制著至少一個閃存芯片;一獨立于所述固態(tài)硬盤中的閃存芯片的管理數(shù)據存儲單元,通過第二總線與所述數(shù)據接口單元連接,用于存儲所述閃存芯片的管理數(shù)據。
2、 如權利要求1所述的固態(tài)硬盤,其特征在于,所述管理數(shù)據存儲單元中 存儲的管理數(shù)據包括出廠壞塊表、運行壞塊表、映射關系信息、擦寫信息、 騎信息。
3、 如權利要求1或2所述的固態(tài)硬盤,其特征在于,所述第一總線為PCIE 總線,所述第二總線為PCI總線。
4、 如權利要求3所述的固態(tài)硬盤,其特征在于,所述數(shù)據接口單元為 PCIE-PCI橋。
5、 如權利要求3所述的固態(tài)硬盤,其特征在于,所述管理數(shù)據存儲單元的 存儲介質具體為閃存或磁盤。
6、 一種處理固態(tài)硬盤中管理數(shù)據方法,其特征在于,包括 獲得固態(tài)硬盤中閃存芯片的管理數(shù)據;將所述固態(tài)硬盤中的管理數(shù)據存儲到 一獨立于所述固態(tài)硬盤中的閃存芯片 的管理數(shù)據存儲單元;根據驅動程序的控制命令更新所述管理數(shù)據存儲單元中的管理數(shù)據。
7、 如權利要求6所述的方法,其特征在于,所述管理數(shù)據包括出廠壞塊 表、運行壞塊表、映射關系信息、擦寫信息、備份信息。
8、 如權利要求7所述的方法,其特征在于,所述獲取固態(tài)硬盤中閃存芯片 的管理數(shù)據的步驟包括所述出廠壞塊表信息從閃存芯片中獲取,以及所述運行壞塊表、映射關系信息、擦寫信息及備份信息由上層軟件生成。
9、 如權利要求7或8所述的方法,其特征在于,所述根據驅動程序的控制 命令更新管理數(shù)據存儲單元中的管理數(shù)據的步驟具體包括根據驅動程序判斷是否對閃存芯片進行擦寫操作,如果是,則更新管理數(shù) 據存儲單元中的擦寫信息中塊的擦寫次數(shù),否則,退出對閃存芯片的操作;判斷所述管理數(shù)據存儲單元中的擦寫信息中塊的擦寫次數(shù)是否達到一閾 值,如果未達到所述闞值,則正常操作閃存芯片,否則,進入下一步驟;根據磨損平衡機制使用另 一塊替換擦寫次數(shù)達到所述闞值的塊,并更新管 理數(shù)據存儲單元中的映射關系信息。
10、 如權利要求7或8所述的方法,其特征在于,所述根據驅動程序的控 制命令更新管理數(shù)據存儲單元中的管理數(shù)據的步驟具體包括檢測是否出現(xiàn)擦寫錯誤,如果未出現(xiàn)擦寫錯誤,則正常操作閃存芯片,否 則,進入下一步驟;判斷是否由壞塊導致擦寫錯誤,如果不是,則正常操作閃存芯片,否則, 更新管理數(shù)據存儲單元中的運行壞塊表信息,并利用 一個保留塊替換所述壞塊, 同時更新管理數(shù)據存儲單元中的映射關系信息。
全文摘要
本發(fā)明公開了一種固態(tài)硬盤,其包括一數(shù)據接口單元,通過第一總線與處理板連接,所述固態(tài)硬盤通過該數(shù)據接口單元與運行在處理板上的操作系統(tǒng)交換數(shù)據;至少一個閃存控制單元,通過第二總線與所述數(shù)據接口單元連接,且每一個所述閃存控制單元控制著至少一個閃存芯片;一獨立于所述固態(tài)硬盤中的閃存芯片的管理數(shù)據存儲單元,通過第二總線與所述數(shù)據接口單元連接,用于存儲所述閃存芯片的管理數(shù)據。相應地,本發(fā)明還公開了一種處理固態(tài)硬盤中管理數(shù)據的方法。根據本發(fā)明的一種固態(tài)硬盤及其管理方法,可將管理數(shù)據和業(yè)務數(shù)據分開存儲,避免了用戶誤操作把管理數(shù)據擦除,提高了固態(tài)硬盤的可靠性。
文檔編號G06F3/06GK101149664SQ200710031078
公開日2008年3月26日 申請日期2007年10月26日 優(yōu)先權日2007年10月26日
發(fā)明者張少林, 李敏秋, 劍 楊, 王少勇, 磊 石, 宣 陳, 林 陶, 興 饒, 顏 龔 申請人:華為技術有限公司