專利名稱:一種固態(tài)硬盤全盤擦除的方法和相應(yīng)的設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種固態(tài)硬盤全盤擦除的方法和相應(yīng) 的設(shè)備。
背景4支術(shù)
固態(tài)硬盤(SSD, Solid State Disk)由控制單元與存儲(chǔ)單元組成。存儲(chǔ)單 元多采用非易失性的閃存(Flash)芯片構(gòu)成,且不具有機(jī)械轉(zhuǎn)動(dòng)裝置,因而 這種硬盤具有讀寫性能高,抗震能力強(qiáng),電源開銷小等優(yōu)勢(shì),并廣泛應(yīng)用于軍 事、車載、工控、視頻監(jiān)控、網(wǎng)絡(luò)監(jiān)控、網(wǎng)絡(luò)終端、電力、醫(yī)療、航空等、導(dǎo) 航設(shè)備等領(lǐng)域。
由于固態(tài)硬盤的特性,廣泛應(yīng)用于各個(gè)場(chǎng)合如筆記本或服務(wù)器等環(huán)境。當(dāng) 使用安全命令對(duì)固態(tài)硬盤上數(shù)據(jù)進(jìn)行全盤擦除時(shí),需要先對(duì)固態(tài)硬盤進(jìn)行全盤 擦除,然后再全盤寫一次,從而導(dǎo)致命令響應(yīng)過(guò)長(zhǎng),經(jīng)常會(huì)引起盤片丟失或主 機(jī)認(rèn)為盤片錯(cuò)誤的情況。
為了改善該問(wèn)題,目前主要的方式是通過(guò)多通道數(shù)據(jù)寫并發(fā)的方式對(duì)固態(tài) 硬盤進(jìn)行全盤擦除操作和數(shù)據(jù)寫操作,即通過(guò)多個(gè)通道同時(shí)對(duì)固態(tài)硬盤的閃存 芯片進(jìn)行擦除操作和數(shù)據(jù)寫操作,具體對(duì)每一個(gè)通道來(lái)說(shuō),則需要一層(Layer) 一層順序地進(jìn)行擦除操作或數(shù)據(jù)寫操作,其中,Layer是指一個(gè)CE信號(hào)對(duì)應(yīng)的 存儲(chǔ)空間,其大小與通道帶寬有關(guān);由此可以得出,使用安全命令對(duì)固態(tài)硬盤 上數(shù)據(jù)進(jìn)行全盤擦除的響應(yīng)時(shí)間,即全盤進(jìn)行擦除操作和數(shù)據(jù)寫操作的總時(shí)間 !^總?cè)萘? (通道數(shù)*通道帶寬)。
在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過(guò)程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),由于受通道數(shù) 和帶寬的限制,全盤擦除操作和數(shù)據(jù)寫操作的總時(shí)間大多為10多分鐘甚至更 多,時(shí)間依舊較長(zhǎng)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種固態(tài)硬盤全盤擦除的方法和相應(yīng)的設(shè)備,可以減少 全盤擦除操作和數(shù)據(jù)寫操作的時(shí)間。
5需說(shuō)明的是,本發(fā)明實(shí)施例所說(shuō)的全盤擦除包括對(duì)固態(tài)硬盤進(jìn)行全盤擦除 操作以及數(shù)據(jù)寫操作。
一種固態(tài)硬盤全盤擦除的方法,包括 接收主機(jī)下發(fā)的安全擦除命令;
根據(jù)所述安全擦除命令并行下發(fā)兩面擦除命令給固態(tài)硬盤每個(gè)通道中的 每個(gè)層以執(zhí)行擦除操作,所述擦除操作為以每相鄰的兩個(gè)面為單位依次對(duì)每個(gè) 層的數(shù)據(jù)進(jìn)行擦除;
根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作。
一種硬盤控制裝置,包括
接收單元,用于接收主機(jī)下發(fā)的安全擦除命令;
擦除操作單元,用于根據(jù)所述接收單元接收到的安全擦除命令并行下發(fā)兩 面擦除命令給固態(tài)硬盤每個(gè)通道中的每個(gè)層以執(zhí)行擦除操作,所述擦除操作為 以每相鄰的兩個(gè)面為單位依次對(duì)每個(gè)層的數(shù)據(jù)進(jìn)行擦除;
寫操作單元,用于根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫 操作。
一種固態(tài)硬盤,包括本發(fā)明實(shí)施例提供的任意一種硬盤控制裝置。 本發(fā)明實(shí)施例采用在接收到主機(jī)下發(fā)的安全擦除命令后,根據(jù)該安全擦除 命令對(duì)固態(tài)硬盤的所有通道中的所有層進(jìn)行并行擦除操作,即對(duì)所有層的數(shù)據(jù) 同時(shí)進(jìn)行擦除,從而使得該方案相對(duì)于現(xiàn)有技術(shù)中需要一層一層順序地擦除的 方案而言,可以節(jié)省全盤擦除的時(shí)間,即減少了全盤的擦除操作和數(shù)據(jù)寫操作 的總的時(shí)間,從而提高了安全擦除命令的響應(yīng)速度。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所 需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明 的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下, 還可以根據(jù)這些附圖獲得其他的附圖。
圖l是本發(fā)明實(shí)施例一提供的方法的方法流程圖2是本發(fā)明實(shí)施例二提供的方法的方法流程圖3是固態(tài)硬盤的層次結(jié)構(gòu)圖;圖4是塊內(nèi)的頁(yè)與頁(yè)之間的復(fù)制回(copy_back)操作示意圖; 圖5是本發(fā)明實(shí)施例提供的硬盤控制裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清 楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是 全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造 性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供一種固態(tài)硬盤全盤擦除的方法和相應(yīng)的設(shè)備。以下分別 進(jìn)4亍詳細(xì)il明。
實(shí)施例一、
本實(shí)施例將從硬盤控制裝置的角度進(jìn)行描述,該硬盤控制裝置可以集成在 固態(tài)硬盤中,也可以作為一個(gè)獨(dú)立于固態(tài)硬盤的裝置存在。
一種固態(tài)硬盤全盤擦除的方法,包括接收主機(jī)下發(fā)的安全擦除命令,根 據(jù)該安全擦除命令并行下發(fā)兩面擦除命令給固態(tài)硬盤每個(gè)通道中的每個(gè)層 (Layer)以執(zhí)行擦除操作,所述擦除操作為以每相鄰的兩個(gè)面(Plane)為單 位依次對(duì)每個(gè)層的數(shù)據(jù)進(jìn)行擦除;據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí) 行數(shù)據(jù)寫操作;如圖l所示,具體流程可以如下
101、接收主機(jī)下發(fā)的安全擦除命令;
該安全擦除命令中還可以攜帶安全擦除等級(jí),以便后續(xù)可以根據(jù)安全擦除 等級(jí)的指示對(duì)固態(tài)硬盤進(jìn)行全盤擦除。
其中,該安全擦除等級(jí)指示對(duì)固態(tài)硬盤進(jìn)行全盤擦除的重復(fù)次數(shù),全盤擦 除的重復(fù)次數(shù)越少,該固態(tài)硬盤上數(shù)據(jù)被恢復(fù)的可能性就越高,數(shù)據(jù)安全系數(shù) 就越低,反之,全盤擦除的重復(fù)次數(shù)越多,該固態(tài)硬盤上數(shù)據(jù)被恢復(fù)的可能性 就越低,數(shù)據(jù)安全系數(shù)就越高,對(duì)與要求不高的擦除,只需要全盤擦除后再全 盤寫一遍即可,而對(duì)于擦除要求較高的用戶來(lái)說(shuō),則需要對(duì)曾經(jīng)寫過(guò)的數(shù)據(jù)進(jìn) 行反復(fù)的擦除操作與數(shù)據(jù)寫操作,這樣才能使以前寫過(guò)的數(shù)據(jù)不能被讀取出 來(lái)。
當(dāng)然,安全擦除等級(jí)也可以通過(guò)其它方式來(lái)獲取,例如,通過(guò)獨(dú)立的消息來(lái)獲取,或者,該安全擦除等級(jí)也可以攜帶在其它的消息中,然后通過(guò)接收該 其它的消息來(lái)獲取,等等。
102、 根據(jù)該安全擦除命令并行下發(fā)兩面擦除命令(two plane erase)給固 態(tài)硬盤每個(gè)通道中的每個(gè)層以執(zhí)行擦除操作,該擦除操作具體為以每相鄰的兩 個(gè)面為單位依次對(duì)每個(gè)層的數(shù)據(jù)進(jìn)行擦除;其中,該兩面擦除命令中攜帶需要 擦除的數(shù)據(jù)的地址,以便可以根據(jù)所述地址以每相鄰的兩個(gè)面為單位依次對(duì)每 個(gè)層的數(shù)據(jù)執(zhí)行擦除操作。
其中,硬盤控制裝置在接收到主機(jī)下發(fā)的安全擦除命令后,可以根據(jù)該安 全擦除命令對(duì)固態(tài)硬盤的所有通道中的所有層進(jìn)行并行擦除操作,比如,對(duì)所 有層的數(shù)據(jù)同時(shí)進(jìn)行擦除操作,并且,同一時(shí)刻同一層的兩個(gè)面也都在擦除, 這與現(xiàn)有技術(shù)中需要一個(gè)層(Layer) —個(gè)層順序地擦除的方案而言,可以節(jié) 省全盤擦除的時(shí)間。
其中,面(Plane)是指閃存芯片里面的一片存儲(chǔ)單元, 一個(gè)層可以包括 多個(gè)面, 一個(gè)面可以包括2048個(gè)塊(Block), l個(gè)塊有64個(gè)頁(yè)(Page)或128頁(yè), l個(gè)頁(yè)有8個(gè)扇區(qū)(Sector )或4個(gè)扇區(qū)或16個(gè)扇區(qū)等,l個(gè)扇區(qū)包括512字節(jié)(Byte ) 的數(shù)據(jù)。
當(dāng)然,執(zhí)行安全擦除命令除了需要對(duì)固態(tài)硬盤進(jìn)行擦除操作之外,還需要 對(duì)固態(tài)硬盤進(jìn)行數(shù)據(jù)寫操作
103、 根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作; 例如,在擦除后的層中寫入特定數(shù)據(jù),比如預(yù)先協(xié)商好的數(shù)據(jù)如"0"、 "5"
等等,這特定數(shù)據(jù)由主機(jī)下發(fā)的安全擦除命令而定,以用作對(duì)全盤的數(shù)據(jù)覆蓋; 該特定數(shù)據(jù)可以通過(guò)如下方式來(lái)獲取
在主機(jī)下發(fā)的安全擦除命令中攜帶特定數(shù)據(jù)的屬性,然后根據(jù)該特定數(shù)據(jù) 的屬性來(lái)確定特定數(shù)據(jù),或者,也可以在主機(jī)下發(fā)的安全擦除命令中直接攜帶 特定數(shù)據(jù),等等。
需說(shuō)明的是,在此數(shù)據(jù)可以劃分為用戶數(shù)據(jù)和特定數(shù)據(jù),用戶數(shù)據(jù)由用戶 寫入,而特定數(shù)據(jù)為系統(tǒng)預(yù)置的數(shù)據(jù),用于對(duì)全盤數(shù)據(jù)的覆蓋,例如,假設(shè)系 統(tǒng)預(yù)置的特定數(shù)據(jù)為"0",則在擦除之后,可以在固態(tài)硬盤中全部寫入數(shù)據(jù)"O"。
其中,根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作可以在
8全盤的擦除操作執(zhí)行完畢后執(zhí)行;當(dāng)然,為了進(jìn)一步節(jié)省全盤擦除的時(shí)間,也
可以不在全盤的擦除操作執(zhí)行完畢后執(zhí)行數(shù)據(jù)寫操作,而是在對(duì)每個(gè)層的數(shù)據(jù) 執(zhí)行擦除操作的同時(shí),利用通道的空閑時(shí)間,根據(jù)安全擦除命令向固態(tài)硬盤的
各個(gè)層執(zhí)行數(shù)據(jù)寫操作,可以如下
A、 在完成對(duì)一個(gè)面的擦除操作之前,至少對(duì)所屬于該面的一個(gè)塊寫入一 個(gè)頁(yè)的數(shù)據(jù);
B、 在完成對(duì)一個(gè)面的擦除操作之后,將之前寫入的一個(gè)頁(yè)的數(shù)據(jù)復(fù)制回 (copy_back)該頁(yè)所屬塊的其他頁(yè)中;其中,copyJmck是指在閃存芯片內(nèi)部
將 一 個(gè)頁(yè)的數(shù)據(jù)復(fù)制到另 一 個(gè)頁(yè)的操作;
C、 在該塊的數(shù)據(jù)寫滿后,將該塊的數(shù)據(jù)copyJ ack到該塊所屬面的其他塊中。
由上可知,本實(shí)施例采用在接收到主機(jī)下發(fā)的安全擦除命令后,根據(jù)該安 全擦除命令對(duì)固態(tài)硬盤的所有通道中的所有層進(jìn)行并行擦除操作,從而使得該 方案相對(duì)于現(xiàn)有技術(shù)中需要一層一層順序地擦除的方案而言,縮短了全盤擦除 的時(shí)間,提高了安全擦除命令的響應(yīng)速度,從而可以避免主機(jī)對(duì)固態(tài)硬盤的運(yùn) 行狀況作出誤判,例如可以避免由于安全擦除命令的響應(yīng)速度過(guò)慢,導(dǎo)致主機(jī) 誤以為盤片丟失或出錯(cuò)等等情況的發(fā)生。
實(shí)施例二、
根據(jù)實(shí)施一所描述的方法,以下將以該硬盤控制裝置集成在硬盤中為例作 進(jìn)一步詳細(xì)i兌明。
硬盤控制裝置在接收到主機(jī)下發(fā)的安全擦除命令后,根據(jù)該安全擦除命令 對(duì)固態(tài)硬盤的閃存芯片中的所有通道中的所有層進(jìn)行并行擦除操作,并且,為 了進(jìn)一步縮短全盤擦除的時(shí)間,在對(duì)每個(gè)層的數(shù)據(jù)執(zhí)行擦除操作的同時(shí),利用 通道的空閑時(shí)間,根據(jù)之前接收到的安全擦除命令向固態(tài)硬盤的各個(gè)層執(zhí)行數(shù) 據(jù)寫操作;如圖2所示,具體流程可以如下
201、硬盤控制裝置接收主機(jī)下發(fā)的安全擦除命令;該安全擦除命令中可 以攜帶安全擦除等級(jí),以便后續(xù)可以根據(jù)安全擦除等級(jí)的指示對(duì)固態(tài)硬盤進(jìn)行 全盤擦除。
其中,該安全擦除等級(jí)指示對(duì)固態(tài)硬盤進(jìn)行全盤擦除的重復(fù)次數(shù),全盤擦除的重復(fù)次數(shù)越少,該固態(tài)硬盤上數(shù)據(jù)被恢復(fù)的可能性就越高,數(shù)據(jù)安全系數(shù) 就越低,反之,全盤擦除的重復(fù)次數(shù)越多,該固態(tài)硬盤上數(shù)據(jù)被恢復(fù)的可能性 就越低,數(shù)據(jù)安全系數(shù)就越高,對(duì)與要求不高的擦除,只需要全盤擦除后再全 盤寫一遍即可,而對(duì)于擦除要求較高的用戶來(lái)說(shuō),則需要對(duì)曾經(jīng)寫過(guò)的數(shù)據(jù)進(jìn) 行反復(fù)的擦除操作與數(shù)據(jù)寫操作,這樣才能使以前寫過(guò)的數(shù)據(jù)不能被讀取出 來(lái)。
當(dāng)然,安全擦除等級(jí)也可以通過(guò)其它方式來(lái)獲取,例如,通過(guò)獨(dú)立的消息 來(lái)獲取,或者,該安全擦除等級(jí)也可以攜帶在其它的消息中,然后通過(guò)接收該 其它的消息來(lái)獲取,等等。
202、 硬盤控制裝置根據(jù)該安全擦除命令并行下發(fā)兩面擦除命令給固態(tài)硬 盤每個(gè)通道中的每個(gè)層(對(duì)閃存芯片而言,這里的層指的是一個(gè)CE信號(hào)對(duì)應(yīng) 的存儲(chǔ)空間),例如,根據(jù)該安全擦除命令中攜帶的安全擦除等級(jí)下發(fā)相應(yīng)的 兩面擦除命令,比如表示需要重復(fù)擦除"與安全擦除等級(jí)相對(duì)應(yīng)的次數(shù),,次的 兩面擦除命令給固態(tài)硬盤每個(gè)通道中的每個(gè)層;其中,該兩面擦除命令中需要 攜帶需要擦除的數(shù)據(jù)的地址,這樣才能找到需要擦除的數(shù)據(jù),擦除時(shí)可以為 以每相鄰的兩個(gè)面(Plane)為單位依次對(duì)所屬層的數(shù)據(jù)進(jìn)行擦除,可以是對(duì) 固態(tài)硬盤閃存芯片中的每個(gè)通道的每個(gè)層的每相鄰的兩個(gè)面的塊(Block)依 次進(jìn)行擦除;在完成所屬于同一個(gè)層的兩個(gè)相鄰的面的擦除操作后,采用同樣 的方法再擦除所屬于該層的另外的兩個(gè)相鄰的面的數(shù)據(jù),可參見圖3,圖3為固 態(tài)硬盤的層次結(jié)構(gòu)圖
對(duì)于固態(tài)硬盤而言,其包括總線通道,總線通道又可以包括多條,比如M 條通道,每一條通道具有一個(gè)多閃存接口 ,而多閃存4妄口下對(duì)應(yīng)著多個(gè),比如 N個(gè)通道芯片,每個(gè)通道芯片又對(duì)應(yīng)著一個(gè)單閃存接口 , 一個(gè)單閃存接口又可 以連接多個(gè),比如X個(gè)層,每個(gè)層又如實(shí)施一中所說(shuō)的,可以包括多個(gè),比如 K個(gè)面,在本發(fā)明實(shí)施例中,主要是以每相鄰的兩個(gè)面為單位依次對(duì)每個(gè)層的 數(shù)據(jù)執(zhí)行擦除操作的;其中,M、 N、 X和K均為正整數(shù)。
203、 硬盤控制裝置對(duì)盤進(jìn)行全盤擦除的同時(shí),可同時(shí)利用通道的空閑時(shí) 間,向每個(gè)閃存芯片下的每個(gè)層的每個(gè)面寫入一個(gè)頁(yè)的特定數(shù)據(jù),以便在后續(xù) 的操作中作為"COpy—back操作"的源數(shù)據(jù),最終實(shí)現(xiàn)對(duì)全盤的數(shù)據(jù)覆蓋。具
10體可以是在完成對(duì)一個(gè)面的擦除操作之前,至少對(duì)所屬于該面的一個(gè)塊寫入 一個(gè)頁(yè)的特定數(shù)據(jù);其中,該特定數(shù)據(jù)由主機(jī)下發(fā)的安全擦除命令,即步驟201 中接收到的安全擦除命令而定;
由于每個(gè)面的總的擦除時(shí)間會(huì)較長(zhǎng),因此,在擦除完面中的所有塊之前, 能保證每個(gè)面中都至少有一個(gè)塊被寫入了一個(gè)頁(yè)的特定數(shù)據(jù),以提高數(shù)據(jù)的擦 除效率。
需說(shuō)明的是,數(shù)據(jù)寫操作也可在全盤擦除后進(jìn)行,可參見實(shí)施例一,在此 不再贅述。
204、 硬盤控制裝置在完成對(duì)一個(gè)面的擦除操作之后,將之前寫入的一個(gè) 頁(yè)的數(shù)據(jù)c叩yjmck到該頁(yè)所屬塊的其他頁(yè)中;其中,c叩yjmck是指在閃存芯 片內(nèi)部將一個(gè)頁(yè)的數(shù)據(jù)復(fù)制到另一個(gè)頁(yè)的操作;
塊內(nèi)的頁(yè)與頁(yè)之間的copy—back操作可參見圖4,假設(shè)塊中包括了 64個(gè)頁(yè) (Page),即PageO Page63,其中,PageO被寫入了特定數(shù)據(jù),那么,在完成 對(duì)一個(gè)面的擦除操作之后,可以將PageO中的特定數(shù)據(jù)copyJ ack到Pagel ~ Page63中。
205、 在該塊的數(shù)據(jù)寫滿后,將該塊的數(shù)據(jù)copyJ ack到該塊所屬面的其他 塊中。
206、 如果硬盤控制裝置在步驟201中還獲取了安全擦除等級(jí),那么此時(shí)還 可以根據(jù)之前獲取到的安全擦除等級(jí)確定對(duì)固態(tài)硬盤進(jìn)行全盤擦除的重復(fù)次 數(shù),根據(jù)該重復(fù)次數(shù)重復(fù)執(zhí)行步驟202至步驟205;比如,可以將安全擦除等級(jí) 劃分為高和低兩種,若安全擦除等級(jí)為低,則重復(fù)次數(shù)為O,即只需要全盤擦 除后再全盤寫一遍即可,比如可以執(zhí)行一遍步驟202至步驟205;若安全擦除等 級(jí)為高,則需要對(duì)曾經(jīng)寫過(guò)的數(shù)據(jù)進(jìn)行反復(fù)的擦除操作與反復(fù)的數(shù)據(jù)寫操作, 比如重復(fù)執(zhí)行多次如5次步驟202至步驟205,這樣才能使以前寫過(guò)的數(shù)據(jù)不能 被讀取出來(lái);至于需要重復(fù)執(zhí)行的次數(shù),與安全擦除等級(jí)的高低有關(guān),可以由 用戶預(yù)先進(jìn)行設(shè)定。步驟206可選。
207、 在完成安全擦除命令后,硬盤控制裝置可以返回響應(yīng)消息給主機(jī), 通知全盤擦除完成,即全盤擦除操作和數(shù)據(jù)寫操作執(zhí)行完畢。
由上可知,本實(shí)施例采用在接收到主機(jī)下發(fā)的安全擦除命令后,根據(jù)該安全擦除命令對(duì)固態(tài)硬盤的所有通道中的所有層進(jìn)行并行擦除操作,即對(duì)所有層 上的數(shù)據(jù)同時(shí)進(jìn)行擦除,從而使得該方案相對(duì)于現(xiàn)有技術(shù)中需要一層一層順序 地擦除的方案而言,可以減少全盤的擦除操作和數(shù)據(jù)寫操作的總的時(shí)間;進(jìn)一
步的,還可以通過(guò)copyj)ack方式來(lái)對(duì)固態(tài)硬盤進(jìn)行數(shù)據(jù)寫操作,從而進(jìn)一步 縮短全盤擦除的時(shí)間,提高安全擦除命令的響應(yīng)速度,避免主機(jī)對(duì)固態(tài)硬盤的 運(yùn)行狀況作出誤判,例如若安全擦除命令的響應(yīng)速度過(guò)慢,則主機(jī)可能會(huì)誤以 為盤片丟失或出錯(cuò)等等。
實(shí)施例三、
為了更好地實(shí)施以上方法,本發(fā)明實(shí)施例還相應(yīng)地提供一種硬盤控制裝 置,該硬盤控制裝置可以集成在固態(tài)硬盤中,也可以作為一個(gè)獨(dú)立于固態(tài)硬盤 的裝置存在;如圖5所示,該硬盤控制裝置包括接收單元301、擦除操作單元302 和寫操作單元303;
接收單元301,用于接收主機(jī)下發(fā)的安全擦除命令;
擦除操作單元302,用于根據(jù)所述接收單元301接收到的安全擦除命令并行 下發(fā)兩面擦除命令給固態(tài)硬盤每個(gè)通道中的每個(gè)層以執(zhí)行擦除操作,所述擦除 操作為以每相鄰的兩個(gè)面為單位依次對(duì)每個(gè)層的數(shù)據(jù)進(jìn)行擦除;
在接收單元301接收到主機(jī)下發(fā)的安全擦除命令后,可以根據(jù)該安全擦除 命令對(duì)固態(tài)硬盤的所有通道中的所有層進(jìn)行并行擦除操作,即對(duì)所有層上的數(shù) 據(jù)同時(shí)進(jìn)行擦除操作,并且,同一時(shí)刻同一層的兩個(gè)面也都在擦除,這與現(xiàn)有 技術(shù)中需要一個(gè)層(Layer) —個(gè)層順序地擦除的方案而言,可以節(jié)省全盤擦 除的時(shí)間。
當(dāng)然,執(zhí)行安全擦除命令除了需要對(duì)固態(tài)硬盤進(jìn)行擦除操作之外,還需要 對(duì)固態(tài)硬盤進(jìn)行數(shù)據(jù)寫操作,比如可以在擦除后的層中重新寫入特定的數(shù)據(jù), 這特定的數(shù)據(jù)由主機(jī)下發(fā)的安全擦除命令而定,以用作對(duì)全盤的數(shù)據(jù)覆蓋。因 此,如圖5所示,該硬盤控制裝置還包括寫操作單元303;
寫操作單元303,用于根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù) 據(jù)寫操作。該寫操作單元303具體可以為第一寫操作模塊或第二寫操作模塊;
第一寫操作模塊,用于在擦除操作單元302執(zhí)行全盤的擦除操作完畢后, 根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作;
12第二寫操作模塊,用于在擦除操作單元302對(duì)每個(gè)層的數(shù)據(jù)執(zhí)行擦除操作
的同時(shí),利用通道的空閑時(shí)間,根據(jù)所述安全擦除命令向固態(tài)硬盤的各個(gè)層執(zhí) 行數(shù)據(jù)寫操作。
其中,寫操作單元303可以包括第一寫入單元和第二寫入單元; 第一寫入單元,用于在擦除操作單元完成對(duì)一個(gè)面的擦除操作之前,至少
對(duì)所屬于該面的一個(gè)塊寫入一個(gè)頁(yè)的數(shù)據(jù);
第二寫入單元,用于在擦除操作單元完成對(duì)一個(gè)面的擦除操作之后,將之
前第 一 寫入單元寫入的 一 個(gè)頁(yè)的數(shù)據(jù)復(fù)制回copy—back該頁(yè)所屬塊的其他頁(yè) 中,在該塊的數(shù)據(jù)寫滿后,將該塊的數(shù)據(jù)c0pyJ3ack到該塊所屬面的其他塊中。 該硬盤控制裝置還可以包括獲取單元;
獲取單元,用于獲取安全擦除等級(jí),所述安全擦除等級(jí)指示對(duì)固態(tài)硬盤進(jìn) 行全盤擦除的重復(fù)次數(shù);比如,可以將安全擦除等級(jí)劃分為高和低兩種,若安 全擦除等級(jí)為低,則重復(fù)次數(shù)為O,若安全擦除等級(jí)為高,則需要對(duì)曾經(jīng)寫過(guò) 的數(shù)據(jù)進(jìn)行反復(fù)的擦除操作與反復(fù)的數(shù)據(jù)寫操作,比如重復(fù)次數(shù)為5次,這樣 才能使以前寫過(guò)的數(shù)據(jù)不能被讀取出來(lái);至于需要重復(fù)執(zhí)行的次數(shù),與安全擦 除等級(jí)的高低有關(guān),可以由用戶預(yù)先進(jìn)行設(shè)定。
需說(shuō)明的是,安全擦除等級(jí)也可以攜帶在安全擦除命令中,即由接收單元 301來(lái)獲取,因此,獲取單元只是作為一個(gè)可選的單元。
所述擦除操作單元,還用于根據(jù)獲取單元獲取到的安全擦除等級(jí)的指示對(duì) 固態(tài)硬盤進(jìn)行全盤擦除。
以上各個(gè)單元的具體實(shí)施可參見方法實(shí)施例,在此不再贅述。
另外,本發(fā)明實(shí)施例還相應(yīng)地提供一種固態(tài)硬盤,包括本發(fā)明實(shí)施例提供 的任意一種硬盤控制裝置,硬盤控制裝置的有關(guān)說(shuō)明具體可參見前面實(shí)施例, 在此不再贅述。
綜上,本實(shí)施例硬盤控制裝置在接收單元301接收到主機(jī)下發(fā)的安全擦除 命令后,可以由擦除操作單元302根據(jù)該安全擦除命令對(duì)固態(tài)硬盤的所有通道 中的所有層進(jìn)行并行擦除操作,從而使得該方案相對(duì)于現(xiàn)有技術(shù)中需要一層一 層順序地擦除的方案而言,可以節(jié)省全盤擦除的時(shí)間,即減少了全盤的擦除操 作和數(shù)據(jù)寫操作的總的時(shí)間;進(jìn)一步的,硬盤控制裝置的寫操作單元303還可以通過(guò)copyj5ack方式來(lái)對(duì)固態(tài)硬盤進(jìn)行數(shù)據(jù)寫操作,從而進(jìn)一步縮短全盤擦 除的時(shí)間,提高安全擦除命令的響應(yīng)速度,避免主機(jī)對(duì)固態(tài)硬盤的運(yùn)行狀況作 出誤判,例如若安全擦除命令的響應(yīng)速度過(guò)慢,則主機(jī)可能會(huì)誤以為盤片丟失 或出錯(cuò)等等。
驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀 存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括只讀存儲(chǔ)器(ROM, Read Only Memory )、 隨機(jī)存取記憶體(RAM, Random Access Memory )、 f茲盤或光盤等。
以上對(duì)本發(fā)明實(shí)施例所提供的一種固態(tài)硬盤全盤擦除的方法和相應(yīng)的設(shè)
闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí), 對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍 上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
1權(quán)利要求
1、一種固態(tài)硬盤全盤擦除的方法,其特征在于,包括接收主機(jī)下發(fā)的安全擦除命令;根據(jù)所述安全擦除命令并行下發(fā)兩面擦除命令給固態(tài)硬盤每個(gè)通道中的每個(gè)層以執(zhí)行擦除操作,所述擦除操作為以每相鄰的兩個(gè)面為單位對(duì)每個(gè)層的數(shù)據(jù)進(jìn)行擦除;根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作。
2、 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述根據(jù)所述安全擦除命令 對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作包括在全盤的擦除操作執(zhí)行完畢后,根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè) 層執(zhí)行數(shù)據(jù)寫操作;或者,在對(duì)每個(gè)層的數(shù)據(jù)執(zhí)行擦除操作的同時(shí),利用通道的空閑時(shí)間,根據(jù)所述 安全擦除命令向固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在對(duì)每個(gè)層的數(shù)據(jù)進(jìn)行 擦除的同時(shí),利用通道的空閑時(shí)間,根據(jù)所述安全擦除命令向固態(tài)硬盤的各個(gè) 層執(zhí)行數(shù)據(jù)寫操作包括在完成對(duì)一個(gè)面的擦除操作之前,至少對(duì)所屬于該面的一個(gè)塊寫入一個(gè)頁(yè) 的數(shù)據(jù);在完成對(duì)一個(gè)面的擦除操作之后,將之前寫入的一個(gè)頁(yè)的數(shù)據(jù)復(fù)制回 copyJ ack該頁(yè)所屬塊的其他頁(yè)中,在該塊的數(shù)據(jù)寫滿后,將該塊的數(shù)據(jù) copyJ ack到該塊所屬面的其他塊中。
4、 根據(jù)權(quán)利要求1或3中任一項(xiàng)所述的方法,其特征在于 所述安全擦除命令攜帶預(yù)置的特定數(shù)據(jù),所述根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作包括在固態(tài)硬盤的各個(gè)層中寫入所述特定數(shù) 據(jù);或者,所述安全擦除命令攜帶預(yù)置的特定數(shù)據(jù)的屬性,所述根據(jù)所述安全擦除命 令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作包括根據(jù)所述特定數(shù)據(jù)的屬性確定特 定數(shù)據(jù),固態(tài)硬盤的各個(gè)層中寫入所述確定的特定數(shù)據(jù)。
5、 根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,還包括獲取安全擦除等級(jí),所述安全擦除等級(jí)指示對(duì)固態(tài)硬盤進(jìn)行全盤擦除的重 復(fù)次數(shù);根據(jù)安全擦除等級(jí)的指示對(duì)固態(tài)硬盤進(jìn)行全盤擦除。
6、 一種硬盤控制裝置,其特征在于,包括 接收單元,用于接收主機(jī)下發(fā)的安全擦除命令;擦除操作單元,用于根據(jù)所述接收單元接收到的安全擦除命令并行下發(fā)兩 面擦除命令給固態(tài)硬盤每個(gè)通道中的每個(gè)層以執(zhí)行擦除操作,所述擦除操作為 以每相鄰的兩個(gè)面為單位依次對(duì)每個(gè)層的數(shù)據(jù)進(jìn)行擦除;寫操作單元,用于根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫 操作。
7、 根據(jù)權(quán)利要求6所述的硬盤控制裝置,其特征在于,寫操作單元為第一寫操作模塊或第二寫操作模塊;第一寫操作模塊,用于在擦除操作單元執(zhí)行全盤的擦除操作完畢后,根據(jù)所述安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作;第二寫搡作模塊,用于在擦除操作單元對(duì)每個(gè)層的數(shù)據(jù)執(zhí)行擦除操作的同時(shí),利用通道的空閑時(shí)間,根據(jù)所述安全擦除命令向固態(tài)硬盤的各個(gè)層#1行數(shù) 據(jù)寫操作。
8、 根據(jù)權(quán)利要求6所述的硬盤控制裝置,其特征在于,所述寫操作單元包括第一寫入單元,用于在擦除操作單元完成對(duì)一個(gè)面的擦除操作之前,至少對(duì)所屬于該面的一個(gè)塊寫入一個(gè)頁(yè)的數(shù)據(jù);第二寫入單元,用于在擦除操作單元完成對(duì)一個(gè)面的擦除操作之后,將之前第 一 寫入單元寫入的 一 個(gè)頁(yè)的數(shù)據(jù)復(fù)制回copy一back該頁(yè)所屬塊的其他頁(yè)中,在該塊的數(shù)據(jù)寫滿后,將該塊的數(shù)據(jù)c叩yj3ack到該塊所屬面的其他塊中。
9、 根據(jù)權(quán)利要求6至8中任一項(xiàng)所述的硬盤控制裝置,其特征在于,還包括獲取單元,用于獲取安全擦除等級(jí),所述安全擦除等級(jí)指示對(duì)固態(tài)硬盤進(jìn) 行全盤擦除的重復(fù)次數(shù);所述擦除操作單元,還用于根據(jù)獲取單元獲取到的安全擦除等級(jí)的指示對(duì)固態(tài)硬盤進(jìn)行全盤擦除。
10、 一種固態(tài)硬盤,其特征在于,包括權(quán)利要求6至9中的任意一種硬盤控 制裝置。
全文摘要
一種固態(tài)硬盤全盤擦除的方法和相應(yīng)的設(shè)備。本發(fā)明實(shí)施例采用在接收到主機(jī)下發(fā)的安全擦除命令后,根據(jù)安全擦除命令并行下發(fā)兩面擦除命令給固態(tài)硬盤每個(gè)通道中的每個(gè)層以執(zhí)行擦除操作,所述擦除操作為以每相鄰的兩個(gè)面為單位依次對(duì)每個(gè)層的數(shù)據(jù)進(jìn)行擦除,根據(jù)安全擦除命令對(duì)固態(tài)硬盤的各個(gè)層執(zhí)行數(shù)據(jù)寫操作;由于該方案在接收到主機(jī)下發(fā)的安全擦除命令后,可以對(duì)所有層上的數(shù)據(jù)同時(shí)進(jìn)行擦除,因此可以節(jié)省全盤擦除的時(shí)間,即減少了全盤的擦除操作和數(shù)據(jù)寫操作的總的時(shí)間,從而提高了安全擦除命令的響應(yīng)速度,避免主機(jī)對(duì)固態(tài)硬盤的運(yùn)行狀況作出誤判。
文檔編號(hào)G11C16/10GK101667458SQ200910173948
公開日2010年3月10日 申請(qǐng)日期2009年9月22日 優(yōu)先權(quán)日2009年9月22日
發(fā)明者張宗全 申請(qǐng)人:成都市華為賽門鐵克科技有限公司