專利名稱:存儲(chǔ)設(shè)備分區(qū)裝置及存儲(chǔ)設(shè)備分區(qū)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲(chǔ)設(shè)備分區(qū)裝置及方法,尤其涉及一種對(duì)以閃存(Flash)作為 存儲(chǔ)介質(zhì)的存儲(chǔ)設(shè)備進(jìn)行分區(qū)的裝置和方法。
背景技術(shù):
隨著硬盤制造技術(shù)的不斷發(fā)展,硬盤的容量也越來越大。目前市場(chǎng)上的硬盤容量 已經(jīng)達(dá)到160GB以上。把整個(gè)硬盤作為一個(gè)分區(qū)來使用,會(huì)降低計(jì)算機(jī)的性能,也不利于管 理文件。因此,需對(duì)硬盤進(jìn)行分區(qū),將硬盤分為不同柱面,磁讀和扇區(qū)進(jìn)行管理和尋址。目 前都是通過PowerQuest PartitionMagic,Disk Man,或者Windows系統(tǒng)的分區(qū)工具對(duì)硬盤 進(jìn)行分區(qū),具體分區(qū)方式如圖1所示,圖1所示是現(xiàn)有分區(qū)工具對(duì)硬盤的分區(qū)后的示意圖。 從圖1可知,現(xiàn)有硬盤分區(qū)工具對(duì)硬盤分區(qū)的原則是保證一個(gè)柱面只存在于一個(gè)分區(qū),如 果用戶輸入的分區(qū)大小造成同一個(gè)柱面存在于不同分區(qū),分區(qū)工具會(huì)自動(dòng)調(diào)整大小,將前 一個(gè)分區(qū)擴(kuò)大,剛好布滿整個(gè)柱面,下一個(gè)柱面的開始剛好是下一個(gè)分區(qū)。相對(duì)于硬盤而言,以閃存或者是相位存儲(chǔ)器作為存儲(chǔ)介質(zhì)的存儲(chǔ)設(shè)備作為一種新 型的存儲(chǔ)產(chǎn)品已經(jīng)越來越普及,有逐漸替代硬盤的趨勢(shì),這均得益于該類存儲(chǔ)設(shè)備輕便,速 度塊,攜帶方便等優(yōu)勢(shì)。使用以閃存或者相位存儲(chǔ)器作為存儲(chǔ)介質(zhì)的存儲(chǔ)設(shè)備就跟使用硬 盤一樣,同樣需要進(jìn)行分區(qū)。圖2所示是利用現(xiàn)有硬盤分區(qū)工具對(duì)以閃存或者相位存儲(chǔ)器 作為存儲(chǔ)介質(zhì)的存儲(chǔ)設(shè)備進(jìn)行分區(qū)后的示意圖。在利用現(xiàn)有的硬盤分區(qū)工具對(duì)以閃存或 者相位存儲(chǔ)器作為存儲(chǔ)介質(zhì)的存儲(chǔ)設(shè)備進(jìn)行分區(qū)時(shí),由于現(xiàn)有硬盤分區(qū)工具并不按照存儲(chǔ) 設(shè)備的結(jié)構(gòu)來進(jìn)行分區(qū),無(wú)法判斷并處理存儲(chǔ)設(shè)備中的同一個(gè)邏輯塊同屬于不同分區(qū)的情 況,因而現(xiàn)有硬盤分區(qū)工具會(huì)將存儲(chǔ)設(shè)備當(dāng)作硬盤進(jìn)行分區(qū),即按照柱面等信息進(jìn)行分區(qū), 就造成了分區(qū)后的存儲(chǔ)設(shè)備的一個(gè)邏輯塊η屬于不同分區(qū)(分區(qū)1及分區(qū)2)的情況,此時(shí) 當(dāng)一個(gè)邏輯塊損壞那么就會(huì)造成兩個(gè)分區(qū)甚至是整個(gè)存儲(chǔ)設(shè)備的數(shù)據(jù)被損壞。因此急切需 要一種新的對(duì)以閃存或者相位存儲(chǔ)器作為存儲(chǔ)介質(zhì)的存儲(chǔ)設(shè)備進(jìn)行分區(qū)的方法以解決上 述問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種存儲(chǔ)設(shè)備分區(qū)裝置及對(duì)存儲(chǔ)設(shè)備分區(qū)方法,使分區(qū)后 的存儲(chǔ)設(shè)備的一個(gè)邏輯塊只屬于一個(gè)分區(qū)以避免一個(gè)邏輯塊損壞時(shí)會(huì)造成兩個(gè)分區(qū)甚至 是整個(gè)存儲(chǔ)設(shè)備的數(shù)據(jù)被損壞。一種存儲(chǔ)設(shè)備分區(qū)裝置,包括查詢模塊,用于查詢存儲(chǔ)設(shè)備的信息;接收模塊, 用于接收存儲(chǔ)設(shè)備的信息和用戶輸入的分區(qū)指令;分區(qū)模塊,根據(jù)查詢到的存儲(chǔ)設(shè)備的信 息、分區(qū)指令和按照一個(gè)邏輯塊只屬于一個(gè)分區(qū)的原則,對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)。優(yōu)選的,上述存儲(chǔ)設(shè)備的存儲(chǔ)介質(zhì)為閃存或者相位存儲(chǔ)器,所述存儲(chǔ)設(shè)備的信息 包括存儲(chǔ)設(shè)備的總?cè)萘?,邏輯塊和物理塊的大小,和每一頁(yè)的大小。優(yōu)選的,上述分區(qū)指令攜帶用戶需要將存儲(chǔ)設(shè)備分成的分區(qū)數(shù)量以及每個(gè)分區(qū)的容量。優(yōu)選的,上述分區(qū)模塊通過判斷該分區(qū)的第一個(gè)邏輯塊和最后一個(gè)邏輯塊的起始 地址和結(jié)束地址是否都屬于該分區(qū)判斷是否存在一個(gè)邏輯塊屬于多個(gè)分區(qū)。一種存儲(chǔ)設(shè)備分區(qū)方法,包括查詢模塊查詢存儲(chǔ)設(shè)備的信息;接收模塊接收分 區(qū)指令;分區(qū)模塊根據(jù)查詢到的存儲(chǔ)設(shè)備的信息、分區(qū)指令和按照一個(gè)邏輯塊只屬于一個(gè) 分區(qū)的原則,對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)。 優(yōu)選的,上述方法還包括存儲(chǔ)設(shè)備上電的步驟。優(yōu)選的,上述方法還包括存儲(chǔ)設(shè)備將查詢結(jié)果發(fā)送給查詢模塊的步驟。優(yōu)選的,上述方法還包括分區(qū)模塊判斷是否存在一個(gè)邏輯塊屬于多個(gè)分區(qū)的步 馬聚ο優(yōu)選的,上述分區(qū)模塊通過判斷該分區(qū)的第一個(gè)邏輯塊和最后一個(gè)邏輯塊的起始 地址和結(jié)束地址是否都屬于該分區(qū)判斷是否存在一個(gè)邏輯塊屬于多個(gè)分區(qū)。優(yōu)選的,上述方法還包括分區(qū)模塊調(diào)整分區(qū)的容量,并用新的分區(qū)信息分區(qū)存儲(chǔ) 設(shè)備的步驟。本發(fā)明提供的存儲(chǔ)設(shè)備分區(qū)裝置及對(duì)存儲(chǔ)設(shè)備分區(qū)方法,使分區(qū)后的存儲(chǔ)設(shè)備的 一個(gè)邏輯塊只屬于一個(gè)分區(qū)以避免一個(gè)邏輯塊損壞時(shí)會(huì)造成兩個(gè)分區(qū)甚至是整個(gè)硬盤的 數(shù)據(jù)被損壞。
圖1所示為現(xiàn)有分區(qū)工具對(duì)硬盤的分區(qū)后的示意圖;圖2所示是利用現(xiàn)有硬盤分區(qū)工具對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)后的示意圖;圖3所示為本發(fā)明一種存儲(chǔ)設(shè)備分區(qū)裝置實(shí)施例的結(jié)構(gòu)示意圖;圖4所示為本發(fā)明一種對(duì)存儲(chǔ)設(shè)備分區(qū)方法實(shí)施例的流程圖;圖5所示為本發(fā)明另一種對(duì)存儲(chǔ)設(shè)備分區(qū)方法實(shí)施例的流程圖;圖6所示為利用本發(fā)明存儲(chǔ)設(shè)備分區(qū)裝置對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)后的示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明所述技術(shù)方案作進(jìn)一步的詳細(xì)描述,以使本 領(lǐng)域的技術(shù)人員可以更好的理解本發(fā)明并能予以實(shí)施,但所舉實(shí)施例不作為對(duì)本發(fā)明的限定。圖3所示為本發(fā)明一種存儲(chǔ)設(shè)備分區(qū)裝置實(shí)施例的結(jié)構(gòu)示意圖。存儲(chǔ)設(shè)備分區(qū)裝置30包括查詢模塊300、接收模塊301和分區(qū)模塊302。在本實(shí) 施例中,存儲(chǔ)設(shè)備分區(qū)裝置30是用于對(duì)存儲(chǔ)介質(zhì)為閃存或者相位存儲(chǔ)器的存儲(chǔ)設(shè)備進(jìn)行 分區(qū),如固態(tài)硬盤(SSD)等。查詢模塊300用于查詢存儲(chǔ)設(shè)備的信息。在本實(shí)施例中,查詢模塊300首先向存 儲(chǔ)設(shè)備發(fā)送查詢指令,查詢存儲(chǔ)設(shè)備的總?cè)萘浚壿媺K和物理塊的大小,和每一頁(yè)的大小等 信息。例如,對(duì)于SATA接口的硬盤,查詢模塊300可以發(fā)送識(shí)別(IDENTIY)命令給存儲(chǔ)設(shè) 備,存儲(chǔ)設(shè)備返回給查詢模塊300的命令包含有容量信息,每頁(yè)的大小信息,上述信息等是保存在設(shè)備中識(shí)別(IDENTIY)保留區(qū)中,可以通過存儲(chǔ)設(shè)備制造商定義為表示頁(yè)大小等信 息。識(shí)別(IDENTIY)數(shù)據(jù)是由512字節(jié)組成的,該數(shù)據(jù)包括傳統(tǒng)硬盤的標(biāo)準(zhǔn)結(jié)構(gòu),但同時(shí)包 括未使用的字段,存儲(chǔ)設(shè)備制造商可以使用該字段。對(duì)于USB移動(dòng)硬盤,查詢模塊300還可 通過 SCSI (Small Computer System Interface)命令來查詢。
存儲(chǔ)設(shè)備將查詢結(jié)果發(fā)送給接收模塊301。即,把存儲(chǔ)設(shè)備的總?cè)萘?,邏輯塊和物 理塊大小,和頁(yè)大小等信息發(fā)送給接收模塊301。接收模塊301除了用于接收存儲(chǔ)設(shè)備的信息外,還用于接收用戶輸入的分區(qū)指 令。該分區(qū)指令攜帶用戶需要將存儲(chǔ)設(shè)備分成的分區(qū)數(shù)量以及每個(gè)分區(qū)的容量。分區(qū)指令 可通過軟件發(fā)送存儲(chǔ)設(shè)備制造商自定義的私有SCSI命令,通過該SCSI命令,要求存儲(chǔ)設(shè)備 分區(qū)裝置30返回?cái)?shù)據(jù)給存儲(chǔ)設(shè)備,例如,可以把分區(qū)信息作為數(shù)據(jù)返回給存儲(chǔ)設(shè)備。分區(qū)模塊302根據(jù)查詢到的存儲(chǔ)設(shè)備的信息、分區(qū)指令和按照一個(gè)邏輯塊只屬于 一個(gè)分區(qū)的原則,對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)。具體為,由于分區(qū)前的存儲(chǔ)設(shè)備是由多個(gè)邏輯塊組成,而邏輯塊是由一個(gè)或多個(gè) 物理塊組成,物理塊則由多頁(yè)組成。因此進(jìn)行分區(qū)后的存儲(chǔ)設(shè)備的邏輯結(jié)構(gòu)在整體上可以 看作是由多個(gè)分區(qū)組成,每個(gè)分區(qū)是由多個(gè)邏輯塊組成,每個(gè)邏輯塊是由一個(gè)或者多個(gè)物 理塊組成,而每個(gè)物理塊則是由多頁(yè)組成,每一邏輯塊具有相應(yīng)的起始地址和結(jié)束地址。分區(qū)模塊302根據(jù)分區(qū)的第一個(gè)邏輯塊和最后一個(gè)邏輯塊的起始地址和結(jié)束地 址是否都屬于該分區(qū)判斷是否存在一個(gè)邏輯塊屬于多個(gè)分區(qū)。如果存在,則將該分區(qū)的空 間擴(kuò)大或者減小,使整個(gè)邏輯塊全部在該分區(qū)或者是在該分區(qū)的相鄰分區(qū),相鄰分區(qū)可以 是該分區(qū)的前一個(gè)分區(qū)后者是該分區(qū)的后一個(gè)分區(qū)。圖4所示為本發(fā)明一種對(duì)存儲(chǔ)設(shè)備分區(qū)方法實(shí)施例的流程圖。步驟S401,查詢模塊300查詢存儲(chǔ)設(shè)備的信息。步驟S402,接收模塊301接收分區(qū)指令。步驟S403,分區(qū)模塊302根據(jù)查詢到的存儲(chǔ)設(shè)備的信息、分區(qū)指令和按照一個(gè)邏 輯塊只屬于一個(gè)分區(qū)的原則,對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)。圖5所示為本發(fā)明另一種對(duì)存儲(chǔ)設(shè)備分區(qū)方法實(shí)施例的流程圖。步驟S501,存儲(chǔ)設(shè)備上電。步驟S502,查詢模塊300向存儲(chǔ)設(shè)備發(fā)送查詢指令。查詢存儲(chǔ)設(shè)備的總?cè)萘?,邏?塊和物理塊大小,和頁(yè)大小等信息。查詢模塊300跟存儲(chǔ)設(shè)備之間是通過IDE總線、ATA總線、SATA總線、USB總線、 SCSI總線或者是其它總線向存儲(chǔ)設(shè)備發(fā)送查詢指令。步驟S503,存儲(chǔ)設(shè)備將查詢結(jié)果發(fā)送給查詢模塊300。即,把存儲(chǔ)設(shè)備的總?cè)萘浚?邏輯塊和物理塊大小,和頁(yè)大小等信息發(fā)送給查詢模塊300。步驟S504,接收模塊301接收用戶輸入的分區(qū)指令,該分區(qū)指令攜帶用戶需要將 存儲(chǔ)設(shè)備分成的分區(qū)數(shù)量以及每個(gè)分區(qū)的容量。步驟S505,分區(qū)模塊302根據(jù)分區(qū)指令對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)。此時(shí)分區(qū)后的存儲(chǔ) 設(shè)備可能存在一個(gè)邏輯塊屬于多個(gè)分區(qū)的情況,因而需要進(jìn)入下述步驟進(jìn)行判斷和調(diào)整。步驟S506,分區(qū)模塊302判斷是否存在一個(gè)邏輯塊屬于多個(gè)分區(qū)。具體為,分區(qū)模 塊302判斷該分區(qū)的第一個(gè)邏輯塊和最后一個(gè)邏輯塊的起始地址和結(jié)束地址是否都屬于該分區(qū)。如果均在該分區(qū)的地址范圍內(nèi),則說明不存在一個(gè)以上的邏輯塊屬于不同分區(qū),進(jìn) 入步驟S508 ;如果不在該分區(qū)的地址范圍內(nèi),說明存在一個(gè)以上的邏輯塊屬于不同分區(qū), 進(jìn)入步驟S507。步驟S507,分區(qū)模塊302調(diào)整該分區(qū)的容量。舉例而言,一個(gè)邏輯塊包括第1到 128頁(yè),如果在分區(qū)時(shí),第一個(gè)分區(qū)占用了該邏輯塊的第1到120頁(yè),那么從121到128頁(yè) 開始是第2個(gè)分區(qū)占用,說明存在一個(gè)邏輯塊同屬于不同分區(qū)。此時(shí)就可利用本發(fā)明的方 式,將第一個(gè)分區(qū)擴(kuò)大,使得該邏輯塊的第1到128頁(yè)全部由第一個(gè)分區(qū)占用,此為擴(kuò)大的 方式。當(dāng)然也可以將第一個(gè)分區(qū)縮小120頁(yè),使第1到128頁(yè)(即整個(gè)邏輯塊)全部在第 二個(gè)分區(qū),此為縮小的方式。步驟S508,分區(qū)模塊302判斷是否為最后一個(gè)分區(qū),如果是,則進(jìn)入步驟S509 ;如 果不是則返回步驟S506。步驟S509,分區(qū)調(diào)整結(jié)束,用新的分區(qū)信息分區(qū)該存儲(chǔ)設(shè)備。圖6所示是利用本發(fā)明存儲(chǔ)設(shè)備分區(qū)裝置對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)后的示意圖。 分區(qū)模塊302在對(duì)存儲(chǔ)設(shè)備分區(qū)完成后,每個(gè)分區(qū)都是由整數(shù)個(gè)邏輯塊組成,不 會(huì)出現(xiàn)邏輯塊n+1同屬于分區(qū)1及分區(qū)2的情況。因而當(dāng)分區(qū)中的某一邏輯塊的數(shù)據(jù)損壞 時(shí),就不會(huì)影響到其它分區(qū)。 本發(fā)明提供的存儲(chǔ)設(shè)備分區(qū)裝置及對(duì)存儲(chǔ)設(shè)備分區(qū)方法,使分區(qū)后的存儲(chǔ)設(shè)備的 一個(gè)邏輯塊只屬于一個(gè)分區(qū)以避免一個(gè)邏輯塊損壞時(shí)會(huì)造成兩個(gè)分區(qū)甚至是整個(gè)硬盤的 數(shù)據(jù)被損壞。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用 本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān) 的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
一種存儲(chǔ)設(shè)備分區(qū)裝置,其特征在于,包括查詢模塊,用于查詢存儲(chǔ)設(shè)備的信息;接收模塊,用于接收存儲(chǔ)設(shè)備的信息和用戶輸入的分區(qū)指令;分區(qū)模塊,根據(jù)查詢到的存儲(chǔ)設(shè)備的信息、分區(qū)指令和按照一個(gè)邏輯塊只屬于一個(gè)分區(qū)的原則,對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)。
2.如權(quán)利要求1所述的存儲(chǔ)設(shè)備分區(qū)裝置,其特征在于,所述存儲(chǔ)設(shè)備的存儲(chǔ)介質(zhì)為 閃存或者相位存儲(chǔ)器,所述存儲(chǔ)設(shè)備的信息包括存儲(chǔ)設(shè)備的總?cè)萘?,邏輯塊和物理塊的大 小,和每一頁(yè)的大小。
3.如權(quán)利要求1所述的存儲(chǔ)設(shè)備分區(qū)裝置,其特征在于,所述分區(qū)指令攜帶用戶需要 將存儲(chǔ)設(shè)備分成的分區(qū)數(shù)量以及每個(gè)分區(qū)的容量。
4.如權(quán)利要求1所述的存儲(chǔ)設(shè)備分區(qū)裝置,其特征在于,所述分區(qū)模塊通過判斷該分 區(qū)的第一個(gè)邏輯塊和最后一個(gè)邏輯塊的起始地址和結(jié)束地址是否都屬于該分區(qū)判斷是否 存在一個(gè)邏輯塊屬于多個(gè)分區(qū)。
5.一種存儲(chǔ)設(shè)備分區(qū)方法,應(yīng)用于權(quán)利要求1至4任一項(xiàng)所述的存儲(chǔ)設(shè)備分區(qū)裝置,其 特征在于,該方法包括查詢模塊查詢存儲(chǔ)設(shè)備的信息;接收模塊接收分區(qū)指令;分區(qū)模塊根據(jù)查詢到的存儲(chǔ)設(shè)備的信息、分區(qū)指令和按照一個(gè)邏輯塊只屬于一個(gè)分區(qū) 的原則,對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)。
6.如權(quán)利要求5所述的存儲(chǔ)設(shè)備分區(qū)方法,其特征在于,還包括存儲(chǔ)設(shè)備上電的步驟。
7.如權(quán)利要求5所述的存儲(chǔ)設(shè)備分區(qū)方法,其特征在于,還包括存儲(chǔ)設(shè)備將查詢結(jié)果 發(fā)送給查詢模塊的步驟。
8.如權(quán)利要求5所述的存儲(chǔ)設(shè)備分區(qū)方法,其特征在于,還包括分區(qū)模塊判斷是否存 在一個(gè)邏輯塊屬于多個(gè)分區(qū)的步驟。
9.如權(quán)利要求8所述的存儲(chǔ)設(shè)備分區(qū)方法,其特征在于,所述分區(qū)模塊通過判斷該分 區(qū)的第一個(gè)邏輯塊和最后一個(gè)邏輯塊的起始地址和結(jié)束地址是否都屬于該分區(qū)判斷是否 存在一個(gè)邏輯塊屬于多個(gè)分區(qū)。
10.如權(quán)利要求8所述的存儲(chǔ)設(shè)備分區(qū)方法,其特征在于,還包括分區(qū)模塊調(diào)整分區(qū)的 容量,并用新的分區(qū)信息分區(qū)存儲(chǔ)設(shè)備的步驟。
全文摘要
本發(fā)明涉及一種存儲(chǔ)設(shè)備分區(qū)裝置,包括查詢模塊,用于查詢存儲(chǔ)設(shè)備的信息;接收模塊,用于接收存儲(chǔ)設(shè)備的信息和用戶輸入的分區(qū)指令;分區(qū)模塊,根據(jù)查詢到的存儲(chǔ)設(shè)備的信息、分區(qū)指令和按照一個(gè)邏輯塊只屬于一個(gè)分區(qū)的原則,對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū)。本發(fā)明還提供一種存儲(chǔ)設(shè)備分區(qū)方法。本發(fā)明提供的存儲(chǔ)設(shè)備分區(qū)裝置及存儲(chǔ)設(shè)備分區(qū)方法,使分區(qū)后的存儲(chǔ)設(shè)備的一個(gè)邏輯塊只屬于一個(gè)分區(qū)以避免一個(gè)邏輯塊損壞時(shí)會(huì)造成兩個(gè)分區(qū)甚至是整個(gè)硬盤的數(shù)據(jù)被損壞。
文檔編號(hào)G06F12/02GK101847126SQ20091011025
公開日2010年9月29日 申請(qǐng)日期2009年10月27日 優(yōu)先權(quán)日2009年10月27日
發(fā)明者萬(wàn)紅波 申請(qǐng)人:深圳市朗科科技股份有限公司