專利名稱:數(shù)據(jù)存儲(chǔ)處理方法與裝置、固態(tài)硬盤系統(tǒng)與數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù),尤其是一種數(shù)據(jù)存儲(chǔ)處理方法與裝置、固態(tài)硬盤系統(tǒng) 與數(shù)據(jù)處理系統(tǒng)。
背景技術(shù):
現(xiàn)有的固態(tài)硬盤(Solid State Disk, SSD)系統(tǒng)通常包括作為存儲(chǔ)介質(zhì)的存儲(chǔ)介 質(zhì)芯片、用于控制SSD系統(tǒng)的主控芯片和用于在SSD系統(tǒng)異常掉電時(shí)對(duì)SSD系統(tǒng)進(jìn)行供電 的備電模塊?,F(xiàn)有的SSD系統(tǒng)中,通常采用快閃記憶體芯片作為存儲(chǔ)介質(zhì)芯片,使得SSD系 統(tǒng)具有存取速度快、防震抗摔、發(fā)熱低、零噪音、體積小等優(yōu)點(diǎn)。在SSD系統(tǒng)中,快閃記憶體芯片的讀寫速度相對(duì)于SSD系統(tǒng)的接口速度慢很多。為 了提高SSD系統(tǒng)的性能,在現(xiàn)有的SSD系統(tǒng)中設(shè)置了一個(gè)高速緩沖存儲(chǔ)器(CACHE),在SSD 系統(tǒng)工作的過(guò)程中,來(lái)緩存主機(jī)對(duì)快閃記憶體芯片的操作數(shù)據(jù)、快閃記憶體芯片中存儲(chǔ)的 數(shù)據(jù)的映射關(guān)系表項(xiàng),另外還可以存儲(chǔ)一些關(guān)鍵的SSD系統(tǒng)的管理信息數(shù)據(jù),其中的操作 具體可以是讀操作、寫操作或者搬移操作?,F(xiàn)有的高速緩沖存儲(chǔ)器通常由同步動(dòng)態(tài)隨機(jī)存 取記憶體(Synchronous Dynamic Random Access Memory, SDRAM)或雙數(shù)據(jù)率同步動(dòng)態(tài)內(nèi) 存(DOUBLE DATA RATE,DDR)等高速的存儲(chǔ)介質(zhì)組成。如圖1所示,為現(xiàn)有技術(shù)SSD系統(tǒng)的 一個(gè)結(jié)構(gòu)示意圖。由于SDRAM、DDR等高速的存儲(chǔ)介質(zhì)都是易失性存儲(chǔ)介質(zhì),掉電后,該存儲(chǔ)介質(zhì)上 的數(shù)據(jù)就會(huì)丟失。如果在異常掉電時(shí),高速緩沖存儲(chǔ)器中的數(shù)據(jù)沒(méi)有被回寫到快閃記憶體 芯片中,就會(huì)造成操作數(shù)據(jù)與管理信息數(shù)據(jù)的丟失。為了在掉電時(shí)可以將高速緩沖存儲(chǔ)器 中的緩存數(shù)據(jù),即操作數(shù)據(jù)與管理信息數(shù)據(jù),回寫至快閃記憶體芯片中,在目前高性能的 SSD系統(tǒng)中,通常采用超級(jí)電容作為SSD系統(tǒng)中的備電模塊,超級(jí)電容能起到備電作用的電 容,其容量比通常的電容器大得多。SSD系統(tǒng)每次上電后需要開(kāi)始對(duì)備電模塊進(jìn)行充電,并 首先將快閃記憶體芯片上保存的映射關(guān)系表項(xiàng)寫入到高速緩沖存儲(chǔ)器中,然后等待備電模 塊的電量達(dá)到特定閾值,該特定閾值的電量可以支持將高速緩沖存儲(chǔ)器中的緩存數(shù)據(jù)寫入 快閃記憶體芯片中。另外,為了提高SSD系統(tǒng)的可靠性,會(huì)周期性地對(duì)備電模塊的工作狀態(tài) 進(jìn)行檢測(cè),以便及時(shí)發(fā)現(xiàn)并排除故障。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)中SSD系統(tǒng)處理數(shù)據(jù)時(shí),至少存在 以下問(wèn)題在開(kāi)始對(duì)備電模塊進(jìn)行充電到備電模塊的電量達(dá)到特定閾值的過(guò)程中,由于寫命 令會(huì)導(dǎo)致高速緩沖存儲(chǔ)器中映射關(guān)系表項(xiàng)被修改,如果此時(shí)SSD系統(tǒng)發(fā)生異常掉電,備電 模塊的電量不足以支持將高速緩沖存儲(chǔ)器中的緩存數(shù)據(jù)寫入快閃記憶體芯片中,就會(huì)導(dǎo)致 操作數(shù)據(jù)被丟失、映射關(guān)系表項(xiàng)錯(cuò)誤等嚴(yán)重問(wèn)題,因此,SSD系統(tǒng)在該過(guò)程中不響應(yīng)主機(jī)端 發(fā)送的寫命令,這就會(huì)導(dǎo)致主機(jī)端的踢盤行為,即主機(jī)會(huì)認(rèn)為作為設(shè)備端的該SSD系統(tǒng)故 障,不再與該SSD系統(tǒng)進(jìn)行通信。另外,在對(duì)備電模塊的工作狀態(tài)進(jìn)行檢測(cè)的過(guò)程中,SSD系統(tǒng)同樣也不響應(yīng)主機(jī)端發(fā)送的寫命令,而隨著高速緩沖存儲(chǔ)器的緩存容量的日益增加,需要的備電模塊的容量也 越大,其特定閾值也就越高,也就意味著等待備電模塊的電量充電達(dá)到特定閾值的充電完 成時(shí)間越長(zhǎng),增加了主機(jī)端踢盤行為的發(fā)生概率,無(wú)法保證SSD系統(tǒng)與主機(jī)的正常通信。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的是提供一種數(shù)據(jù)存儲(chǔ)處理方法與裝置、固態(tài)硬盤系統(tǒng)與數(shù) 據(jù)處理系統(tǒng),使得SSD系統(tǒng)及時(shí)響應(yīng)主機(jī)端發(fā)送的寫命令,從而保證SSD系統(tǒng)與主機(jī)的正常
通{曰。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲(chǔ)處理方法,包括接收主機(jī)發(fā)送的寫命令,該寫命令包括操作數(shù)據(jù),和所述操作數(shù)據(jù)在所述主機(jī)的 邏輯地址LBA與在將要被寫入的固態(tài)硬盤SSD系統(tǒng)中快閃記憶體芯片的物理地址PBA之間 的對(duì)應(yīng)關(guān)系信息;將所述操作數(shù)據(jù)寫入所述SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間 的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中;將所述操作數(shù)據(jù)從所述高速緩沖存儲(chǔ)器寫入所述SSD系統(tǒng)中的快閃記憶體芯片 中,并向所述主機(jī)發(fā)送寫命令完成結(jié)果消息。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲(chǔ)處理裝置,包括接收模塊,用于接收主機(jī)發(fā)送的寫命令,該寫命令包括操作數(shù)據(jù),和所述操作數(shù)據(jù) 在所述主機(jī)的LBA與在將要被寫入的SSD系統(tǒng)中快閃記憶體芯片的PBA之間的對(duì)應(yīng)關(guān)系信 息;第一操作處理模塊,用于將所述操作數(shù)據(jù)寫入所述SSD系統(tǒng)中的高速緩沖存儲(chǔ)器 中,并將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中;第二操作處理模塊,用于將所述操作數(shù)據(jù)從所述高速緩沖存儲(chǔ)器寫入所述SSD系 統(tǒng)中的快閃記憶體芯片中;發(fā)送模塊,用于在第二操作處理模塊將所述操作數(shù)據(jù)寫入所述快閃記憶體芯片中 之后,向所述主機(jī)發(fā)送寫命令完成結(jié)果消息。本發(fā)明實(shí)施例提供的一種固態(tài)硬盤系統(tǒng),包括主電源、快閃記憶體芯片、高速緩沖 存儲(chǔ)器與主控芯片,所述主控芯片具體為本發(fā)明上述實(shí)施例提供的數(shù)據(jù)存儲(chǔ)處理裝置。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理系統(tǒng),包括主機(jī),還包括本發(fā)明上述實(shí)施例提 供的SSD系統(tǒng)。基于本發(fā)明上述實(shí)施例提供的數(shù)據(jù)存儲(chǔ)處理方法與裝置、固態(tài)硬盤系統(tǒng)與數(shù)據(jù)處 理系統(tǒng),可以在接收到主機(jī)發(fā)送的寫命令后,將其中的操作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩 沖存儲(chǔ)器中,并將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入一個(gè)非易失性存儲(chǔ)介質(zhì)單元中,之后 將操作數(shù)據(jù)從高速緩沖存儲(chǔ)器寫入SSD系統(tǒng)中的快閃記憶體芯片中,并向主機(jī)發(fā)送寫命令 完成結(jié)果消息,從而可以實(shí)時(shí)對(duì)主機(jī)發(fā)送的寫命令進(jìn)行處理并及時(shí)對(duì)主機(jī)進(jìn)行響應(yīng),即使 在開(kāi)始對(duì)備電模塊進(jìn)行充電到備電模塊的電量達(dá)到特定閾值的過(guò)程中,或者在對(duì)備電模塊 的工作狀態(tài)進(jìn)行檢測(cè)的過(guò)程中,甚至在備電模塊故障時(shí),都可以及時(shí)可靠的響應(yīng)主機(jī)端發(fā) 送的寫命令,從而避免主機(jī)端的踢盤行為,保證操作數(shù)據(jù)的可靠性、映射關(guān)系表項(xiàng)的正確性 與可靠性,提高主機(jī)與SSD系統(tǒng)之間的通信速度,有效保證SSD系統(tǒng)與主機(jī)的正常通信。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)SSD系統(tǒng)的一個(gè)結(jié)構(gòu)示意圖;圖2為本發(fā)明數(shù)據(jù)存儲(chǔ)處理方法一個(gè)實(shí)施例的流程圖;圖3為本發(fā)明數(shù)據(jù)存儲(chǔ)處理方法另一個(gè)實(shí)施例的流程圖;圖4為本發(fā)明數(shù)據(jù)存儲(chǔ)處理方法又一個(gè)實(shí)施例的流程圖;圖5為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖7為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖8為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置再一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖9為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置還一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖10為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置下一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖11為本發(fā)明SSD系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖12為本發(fā)明SSD系統(tǒng)另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖13為本發(fā)明SSD系統(tǒng)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖14為本發(fā)明數(shù)據(jù)處理系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖2為本發(fā)明數(shù)據(jù)存儲(chǔ)處理方法一個(gè)實(shí)施例的流程圖。如圖2所示,該實(shí)施例的 數(shù)據(jù)存儲(chǔ)處理方法包括步驟101,接收主機(jī)發(fā)送的寫命令,該寫命令包括操作數(shù)據(jù),和該操作數(shù)據(jù)在主機(jī) 的邏輯地址(Logical Block Addressing,以下簡(jiǎn)稱LBA)與在將要被寫入的SSD系統(tǒng)中快 閃記憶體芯片的物理地址(Physical Block Addressing,以下簡(jiǎn)稱PBA)之間的對(duì)應(yīng)關(guān)系
fn息ο步驟102,將操作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間 的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中。具體地,根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,可以采用快照增量的方式將LBA與PBA 之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中。例如可以預(yù)先將非易失性存儲(chǔ)介質(zhì) 單元?jiǎng)澐譃橐粋€(gè)一個(gè)的增量存儲(chǔ)單元,在每個(gè)單元分別存儲(chǔ)本次寫操作的LBA與PBA之間 的對(duì)應(yīng)關(guān)系信息。
7
步驟103,將操作數(shù)據(jù)從高速緩沖存儲(chǔ)器寫入SSD系統(tǒng)中的快閃記憶體芯片中,并 向主機(jī)發(fā)送寫命令完成結(jié)果消息。本發(fā)明實(shí)施例中先將操作數(shù)據(jù)從高速緩沖存儲(chǔ)器寫入SSD系統(tǒng)中的快閃記憶體 芯片中,再向主機(jī)發(fā)送寫命令完成結(jié)果消息的方式,可以稱之為透寫方式。需要說(shuō)明的是,本實(shí)施例中的非易失性存儲(chǔ)介質(zhì)單元可以是按比特進(jìn)行讀寫和編 程,且寫之前不用擦除,掉電后,該非易失性存儲(chǔ)介質(zhì)單元中存儲(chǔ)的映射關(guān)系可以保存而不 丟失。本實(shí)施例中的非易失性存儲(chǔ)介質(zhì)單元可以是鐵電隨機(jī)存儲(chǔ)器(FRAM)、磁性隨機(jī)存儲(chǔ) 器(MRAM)、非易失性靜態(tài)隨機(jī)存儲(chǔ)器(NVSRAM)以及電可擦可編程只讀存儲(chǔ)器(EEPROM)等 類型的存儲(chǔ)介質(zhì),且修改前或?qū)懭霐?shù)據(jù)時(shí)不需要像快閃記憶體芯片那樣需對(duì)快閃記憶體芯 片中的塊進(jìn)行回收擦除,由于在大部分情況下,對(duì)非易失性存儲(chǔ)介質(zhì)單元的操作僅需要少 量字節(jié)被寫入,而如果映射表存儲(chǔ)在閃存中,在每次寫入閃存時(shí)整頁(yè)可能被重寫,如果沒(méi)有 空頁(yè)可用,包括塊擦除等操作會(huì)使得處理速度緩慢,所以本實(shí)施例中的非易失性存儲(chǔ)介質(zhì) 單元用于在透寫模式下存儲(chǔ)映射關(guān)系。本實(shí)施例中的快閃記憶體芯片也是非易失性的,快 閃記憶體芯片可以是按頁(yè)進(jìn)行讀寫,寫之前需要進(jìn)行擦除,且讀寫和擦除的塊大小可以不 一樣,要擦除之前還需要進(jìn)行垃圾回收等操作。基于本發(fā)明上述實(shí)施例提供的數(shù)據(jù)存儲(chǔ)處理方法,SSD系統(tǒng)可以在接收到主機(jī)發(fā) 送的寫命令后,將其中的操作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之 間的對(duì)應(yīng)關(guān)系信息寫入一個(gè)非易失性存儲(chǔ)介質(zhì)單元中,之后將操作數(shù)據(jù)從高速緩沖存儲(chǔ)器 寫入SSD系統(tǒng)中的快閃記憶體芯片中,并向主機(jī)發(fā)送寫命令完成結(jié)果消息,這樣,向主機(jī)發(fā) 送寫命令完成結(jié)果消息時(shí),由于操作數(shù)據(jù)已經(jīng)成功寫入了非易失性的快閃記憶體芯片中, 即使SSD系統(tǒng)在沒(méi)有備電模塊的情況下發(fā)生異常掉電,也不會(huì)發(fā)生操作數(shù)據(jù)被丟失、映射 關(guān)系表項(xiàng)錯(cuò)誤等嚴(yán)重問(wèn)題,而對(duì)于尚未被寫入非易失性的快閃記憶體芯片中的操作數(shù)據(jù), 由于尚未向主機(jī)發(fā)送寫命令完成結(jié)果消息,SSD系統(tǒng)發(fā)生異常掉電時(shí),主機(jī)端知道該寫命 令尚未執(zhí)行完,因此在后續(xù)數(shù)據(jù)處理過(guò)程中可以重新進(jìn)行寫操作,而不會(huì)發(fā)生操作數(shù)據(jù)被 丟失、映射關(guān)系表項(xiàng)錯(cuò)誤等嚴(yán)重問(wèn)題,從而可以實(shí)時(shí)對(duì)主機(jī)發(fā)送的寫命令進(jìn)行處理并及時(shí) 對(duì)主機(jī)進(jìn)行響應(yīng),即使在開(kāi)始對(duì)備電模塊進(jìn)行充電到備電模塊的電量達(dá)到特定閾值的過(guò)程 中,或者在對(duì)備電模塊的工作狀態(tài)進(jìn)行檢測(cè)的過(guò)程中,甚至在備電模塊故障時(shí),都可以及時(shí) 可靠的響應(yīng)主機(jī)端發(fā)送的寫命令,從而避免主機(jī)端的踢盤行為,保證操作數(shù)據(jù)的可靠性、映 射關(guān)系表項(xiàng)的正確性與可靠性,提高主機(jī)與SSD系統(tǒng)之間的通信速度,有效保證SSD系統(tǒng)與 主機(jī)的正常通信。作為本發(fā)明的一個(gè)具體實(shí)施例,在圖2所示的實(shí)施例之前,可以將快閃記憶體芯 片中存儲(chǔ)的映射關(guān)系表項(xiàng)復(fù)制到高速緩沖存儲(chǔ)器中;相應(yīng)的,通過(guò)步驟103,將操作數(shù)據(jù)寫 入快閃記憶體芯片中之后,還根據(jù)LBA與PBA之間的對(duì)應(yīng)關(guān)系信息,對(duì)高速緩沖存儲(chǔ)器中的 映射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng)。進(jìn)一步地,作為本發(fā)明的另一個(gè)具體實(shí)施例,生成新映射關(guān)系表項(xiàng)之后,還可以利 用新映射關(guān)系表項(xiàng)對(duì)快閃記憶體芯片中存儲(chǔ)的映射關(guān)系表項(xiàng)進(jìn)行更新,以便快閃記憶體芯 片可以得到最新的映射關(guān)系表項(xiàng)并可靠的保存該新映射關(guān)系表項(xiàng)。另外,進(jìn)一步地,作為本發(fā)明的又一個(gè)具體實(shí)施例,在SSD系統(tǒng)中的主電源停止供 電時(shí),即SSD系統(tǒng)異常掉電時(shí),可以檢測(cè)SSD系統(tǒng)中的備電模塊的電量,并判斷該備電模塊
8的電量是否達(dá)到特定閾值。若備電模塊的電量達(dá)到特定閾值,可以按照本發(fā)明上述實(shí)施例 的流程進(jìn)行處理,即開(kāi)始執(zhí)行根據(jù)LBA與PBA之間的對(duì)應(yīng)關(guān)系信息對(duì)高速緩沖存儲(chǔ)器中的 映射關(guān)系表項(xiàng)進(jìn)行更新的操作。否則,若備電模塊的電量未達(dá)到特定閾值,可以按照現(xiàn)有技 術(shù)的流程進(jìn)行處理,即根據(jù)LBA與PBA之間的對(duì)應(yīng)關(guān)系信息對(duì)快閃記憶體芯片中的映射關(guān) 系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng)。圖3為本發(fā)明數(shù)據(jù)存儲(chǔ)處理方法另一個(gè)實(shí)施例的流程圖。如圖3所示,該實(shí)施例 的數(shù)據(jù)存儲(chǔ)處理方法包括步驟201,接收主機(jī)發(fā)送的寫命令,該寫命令包括操作數(shù)據(jù),和該操作數(shù)據(jù)在主機(jī) 的LBA與在將要被寫入的快閃記憶體芯片的物理地址PBA之間的對(duì)應(yīng)關(guān)系信息。步驟202,將操作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并識(shí)別非易失性存儲(chǔ) 介質(zhì)單元中已有的對(duì)應(yīng)關(guān)系信息的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)值。若已有的對(duì)應(yīng)關(guān)系信息的數(shù)量 達(dá)到預(yù)設(shè)數(shù)值,執(zhí)行步驟203 ;否則,若已有的對(duì)應(yīng)關(guān)系信息的數(shù)量未達(dá)到預(yù)設(shè)數(shù)值,執(zhí)行 步驟204。舉例來(lái)說(shuō),對(duì)應(yīng)關(guān)系信息的數(shù)量可以為映射關(guān)系表中表項(xiàng)的數(shù)量。步驟203,刪除非易失性存儲(chǔ)介質(zhì)單元中已有的對(duì)應(yīng)關(guān)系信息,從而及時(shí)釋放非易 失性存儲(chǔ)介質(zhì)單元的存儲(chǔ)空間。步驟204,將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中。步驟205,將操作數(shù)據(jù)從高速緩沖存儲(chǔ)器寫入SSD系統(tǒng)中的快閃記憶體芯片中,并 向主機(jī)發(fā)送寫命令完成結(jié)果消息。此外,根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,可以實(shí)時(shí)檢測(cè)SSD系統(tǒng)中的備電模塊的電 量,并在備電模塊的電量達(dá)到特定閾值時(shí),判斷非易失性存儲(chǔ)介質(zhì)單元中是否存儲(chǔ)有LBA 與PBA之間的對(duì)應(yīng)關(guān)系信息,并在存儲(chǔ)有LBA與PBA之間的對(duì)應(yīng)關(guān)系信息時(shí),刪除非易失性 存儲(chǔ)介質(zhì)單元中存儲(chǔ)的LBA與PBA之間的對(duì)應(yīng)關(guān)系信息。所謂特定閾值,即為可以支持將 高速緩沖存儲(chǔ)器中的操作數(shù)據(jù)回寫至快閃記憶體芯片中的電量值。因?yàn)閭潆娔K的電量 達(dá)到特定閾值之后,即使SSD系統(tǒng)發(fā)生異常掉電,備電模塊的電量也可以支持將高速緩沖 存儲(chǔ)器中的操作數(shù)據(jù)回寫至快閃記憶體芯片中,在此情況下,刪除非易失性存儲(chǔ)介質(zhì)單元 中存儲(chǔ)的對(duì)應(yīng)關(guān)系信息可以釋放有限的存儲(chǔ)空間,以便于后續(xù)在開(kāi)始對(duì)備電模塊進(jìn)行充電 到備電模塊的電量達(dá)到特定閾值的過(guò)程中,或者在對(duì)備電模塊的工作狀態(tài)進(jìn)行檢測(cè)的過(guò)程 中,甚至在備電模塊故障時(shí),充分利用該存儲(chǔ)空間記錄其他寫命令中的LBA與PBA之間的對(duì) 應(yīng)關(guān)系信息。另外,也可以在接收到主機(jī)發(fā)送的寫命令后,根據(jù)SSD系統(tǒng)中的備電模塊的電量 識(shí)別是否需要按照本發(fā)明上述實(shí)施例的流程處理該寫命令。圖4為本發(fā)明數(shù)據(jù)存儲(chǔ)處理方 法又一個(gè)實(shí)施例的流程圖。如圖4所示,該實(shí)施例的數(shù)據(jù)存儲(chǔ)處理方法包括步驟301,接收主機(jī)發(fā)送的寫命令,該寫命令包括操作數(shù)據(jù),和該操作數(shù)據(jù)在主機(jī) 的LBA與在將要被寫入的快閃記憶體芯片的物理地址PBA之間的對(duì)應(yīng)關(guān)系信息。步驟302,檢測(cè)SSD系統(tǒng)中的備電模塊的電量,并判斷備電模塊的電量是否達(dá)到特 定閾值。若備電模塊的電量未達(dá)到特定閾值,執(zhí)行步驟303。作為本發(fā)明的其他實(shí)施例,若 備電模塊的電量達(dá)到特定閾值,可以執(zhí)行步驟305。步驟303,將操作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中。具體地,該步驟303可以通過(guò)圖3所示實(shí)施例的步驟202-步驟204實(shí)現(xiàn)。步驟304,將操作數(shù)據(jù)從高速緩沖存儲(chǔ)器寫入SSD系統(tǒng)中的快閃記憶體芯片中,并 向主機(jī)發(fā)送寫命令完成結(jié)果消息。之后,不再執(zhí)行本實(shí)施例的后續(xù)流程。步驟305,將操作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并利用LBA與PBA之 間的對(duì)應(yīng)關(guān)系信息對(duì)高速緩沖存儲(chǔ)器中的映射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng)。由于備電模塊的電量達(dá)到特定閾值后,已經(jīng)可以支持將高速緩沖存儲(chǔ)器中的緩存 數(shù)據(jù)寫入快閃記憶體芯片中,可以不用再將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性 存儲(chǔ)介質(zhì)單元中,而直接處理;另外,此時(shí)也可以刪除非易失性存儲(chǔ)介質(zhì)單元中已有的LBA 與PBA之間的對(duì)應(yīng)關(guān)系信息,從而及時(shí)釋放存儲(chǔ)空間。步驟306,向主機(jī)發(fā)送寫命令完成結(jié)果消息。圖5為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。該實(shí)施例的數(shù)據(jù)存儲(chǔ) 處理裝置可用于實(shí)現(xiàn)本發(fā)明上述實(shí)施例的數(shù)據(jù)存儲(chǔ)處理方法。如圖5所示,其包括接收模 塊401、第一操作處理模塊402、第二操作處理模塊403與發(fā)送模塊404。其中,接收模塊401 用于接收主機(jī)發(fā)送的寫命令,該寫命令包括操作數(shù)據(jù),和操作數(shù)據(jù)在主機(jī)的LBA與在將要 被寫入的SSD系統(tǒng)中快閃記憶體芯片的PBA之間的對(duì)應(yīng)關(guān)系信息。第一操作處理模塊402 用于將寫命令中的操作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間的 對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中。第二操作處理模塊403用于將操作數(shù)據(jù)從高 速緩沖存儲(chǔ)器寫入SSD系統(tǒng)中的快閃記憶體芯片中。發(fā)送模塊404用于在第二操作處理模 塊403將操作數(shù)據(jù)寫入快閃記憶體芯片中之后,向主機(jī)發(fā)送寫命令完成結(jié)果消息。基于本發(fā)明上述實(shí)施例提供的數(shù)據(jù)存儲(chǔ)處理裝置,可以在接收到主機(jī)發(fā)送的寫命 令后,將其中的操作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間的對(duì)應(yīng) 關(guān)系信息寫入一個(gè)非易失性存儲(chǔ)介質(zhì)單元中,之后將操作數(shù)據(jù)從高速緩沖存儲(chǔ)器寫入SSD 系統(tǒng)中的快閃記憶體芯片中,并向主機(jī)發(fā)送寫命令完成結(jié)果消息,從而可以實(shí)時(shí)對(duì)主機(jī)發(fā) 送的寫命令進(jìn)行處理并及時(shí)對(duì)主機(jī)進(jìn)行響應(yīng),即使在開(kāi)始對(duì)備電模塊進(jìn)行充電到備電模塊 的電量達(dá)到特定閾值的過(guò)程中,或者在對(duì)備電模塊的工作狀態(tài)進(jìn)行檢測(cè)的過(guò)程中,甚至在 備電模塊故障時(shí),都可以及時(shí)可靠的響應(yīng)主機(jī)端發(fā)送的寫命令,從而避免主機(jī)端的踢盤行 為,保證操作數(shù)據(jù)的可靠性、映射關(guān)系表項(xiàng)的正確性與可靠性,提高主機(jī)與SSD系統(tǒng)之間的 通信速度,有效保證SSD系統(tǒng)與主機(jī)的正常通信。圖6為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。與圖5所示的實(shí)施 例相比,該實(shí)施例的數(shù)據(jù)存儲(chǔ)處理裝置還包括復(fù)制處理模塊405與更新處理模塊406,以實(shí) 現(xiàn)本發(fā)明上述相應(yīng)實(shí)施例的數(shù)據(jù)存儲(chǔ)處理方法。其中,復(fù)制處理模塊405用于將快閃記憶 體芯片中存儲(chǔ)的映射關(guān)系表項(xiàng)復(fù)制到高速緩沖存儲(chǔ)器中。更新處理模塊406用于根據(jù)高速 緩沖存儲(chǔ)器中的LBA與PBA之間的對(duì)應(yīng)關(guān)系信息,對(duì)高速緩沖存儲(chǔ)器中的映射關(guān)系表項(xiàng)進(jìn) 行更新,生成新映射關(guān)系表項(xiàng)。另外,作為進(jìn)一步的實(shí)施例,圖6所示實(shí)施例中的更新處理模塊406還可用于利用 生成的新映射關(guān)系表項(xiàng)對(duì)快閃記憶體芯片中存儲(chǔ)的映射關(guān)系表項(xiàng)進(jìn)行更新,以保持快閃記 憶體芯片與高速緩沖存儲(chǔ)器中映射關(guān)系表項(xiàng)的同步。圖7為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。與圖6所示的實(shí)施例相比,該實(shí)施例的數(shù)據(jù)存儲(chǔ)處理裝置還包括第一檢測(cè)識(shí)別模塊407,以實(shí)現(xiàn)本發(fā)明上述相 應(yīng)實(shí)施例的數(shù)據(jù)存儲(chǔ)處理方法。具體地,第一檢測(cè)識(shí)別模塊407用于在SSD系統(tǒng)中的主電源 停止供電時(shí),檢測(cè)SSD系統(tǒng)中的備電模塊的電量,并判斷備電模塊的電量達(dá)到特定閾值。相 應(yīng)的,更新處理模塊406具體根據(jù)第一檢測(cè)識(shí)別模塊407的判斷結(jié)果,在備電模塊的電量達(dá) 到特定閾值時(shí),根據(jù)LBA與PBA之間的對(duì)應(yīng)關(guān)系信息,對(duì)高速緩沖存儲(chǔ)器中的映射關(guān)系表項(xiàng) 進(jìn)行更新,生成新映射關(guān)系表項(xiàng)。在備電模塊的電量未達(dá)到特定閾值時(shí),根據(jù)LBA與PBA之 間的對(duì)應(yīng)關(guān)系信息對(duì)快閃記憶體芯片中的映射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng)。圖8為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置再一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。該實(shí)施例的數(shù)據(jù)存 儲(chǔ)處理裝置可用于實(shí)現(xiàn)本發(fā)明圖3所示實(shí)施例的數(shù)據(jù)存儲(chǔ)處理方法。與圖5所示的實(shí)施 例相比,該實(shí)施例的數(shù)據(jù)存儲(chǔ)處理裝置中,第一操作處理模塊402具體包括第一寫入單元 501、識(shí)別單元502、刪除單元503與第二寫入單元504。其中,第一寫入單元501用于將操作 數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中。識(shí)別單元502用于識(shí)別非易失性存儲(chǔ)介質(zhì)單元 中已有的對(duì)應(yīng)關(guān)系信息的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)值。刪除單元503用于根據(jù)識(shí)別單元502的 識(shí)別結(jié)果,在已有的對(duì)應(yīng)關(guān)系信息的數(shù)量達(dá)到預(yù)設(shè)數(shù)值時(shí),刪除非易失性存儲(chǔ)介質(zhì)單元中 已有的對(duì)應(yīng)關(guān)系信息。第二寫入單元504用于在刪除單元503刪除非易失性存儲(chǔ)介質(zhì)單元 中已有的對(duì)應(yīng)關(guān)系信息后,將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元 中,以及根據(jù)識(shí)別單元502的識(shí)別結(jié)果,在已有的對(duì)應(yīng)關(guān)系信息的數(shù)量未達(dá)到預(yù)設(shè)數(shù)值時(shí), 將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中。圖9為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置還一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。與圖5所示的實(shí)施 例相比,該實(shí)施例的數(shù)據(jù)存儲(chǔ)處理裝置還包括第二檢測(cè)識(shí)別模塊408、判斷模塊409與刪除 模塊410,以實(shí)現(xiàn)本發(fā)明上述相應(yīng)實(shí)施例的數(shù)據(jù)存儲(chǔ)處理方法。具體地,第二檢測(cè)識(shí)別模塊 408用于檢測(cè)SSD系統(tǒng)中的備電模塊的電量,并判斷SSD系統(tǒng)中的備電模塊的電量是否達(dá)到 特定閾值。判斷模塊409用于根據(jù)第二檢測(cè)識(shí)別模塊408的判斷結(jié)果,在SSD系統(tǒng)中的備 電模塊的電量達(dá)到特定閾值時(shí),判斷非易失性存儲(chǔ)介質(zhì)單元中是否存儲(chǔ)有LBA與PBA之間 的對(duì)應(yīng)關(guān)系信息。刪除模塊410用于根據(jù)判斷模塊409的判斷結(jié)果,在存儲(chǔ)有LBA與PBA 之間的對(duì)應(yīng)關(guān)系信息時(shí),刪除非易失性存儲(chǔ)介質(zhì)單元中存儲(chǔ)的對(duì)應(yīng)關(guān)系信息。圖10為本發(fā)明數(shù)據(jù)存儲(chǔ)處理裝置下一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。在本發(fā)明上述任 一實(shí)施例提供的數(shù)據(jù)存儲(chǔ)處理裝置中,都可以進(jìn)一步包括第三檢測(cè)識(shí)別模塊411,該實(shí)施例 的數(shù)據(jù)存儲(chǔ)處理裝置可用于實(shí)現(xiàn)本發(fā)明圖4所示實(shí)施例的數(shù)據(jù)存儲(chǔ)處理方法。具體地,第 三檢測(cè)識(shí)別模塊411用于在接收模塊401接收到主機(jī)發(fā)送的寫命令之后,檢測(cè)SSD系統(tǒng)中 的備電模塊的電量,并判斷備電模塊的電量達(dá)到特定閾值。相應(yīng)的,第一操作處理模塊402 具體根據(jù)第三檢測(cè)識(shí)別模塊411的檢測(cè)結(jié)果,在備電模塊的電量未達(dá)到特定閾值時(shí),將操 作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非 易失性存儲(chǔ)介質(zhì)單元中。進(jìn)一步地,再參見(jiàn)圖10,作為本發(fā)明的另一個(gè)數(shù)據(jù)存儲(chǔ)處理裝置具體實(shí)施例,在圖 10所示的實(shí)施例中,更新處理模塊406具體可以在根據(jù)第三檢測(cè)識(shí)別模塊411的檢測(cè)結(jié)果, 在備電模塊的電量達(dá)到特定閾值時(shí),根據(jù)LBA與PBA之間的對(duì)應(yīng)關(guān)系信息,對(duì)高速緩沖存儲(chǔ) 器中的映射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng)。本發(fā)明實(shí)施例還提供了一種SSD系統(tǒng),可用于實(shí)現(xiàn)本發(fā)明上述實(shí)施例的數(shù)據(jù)存儲(chǔ)
11處理方法,其包括主電源1、快閃記憶體芯片2、高速緩沖存儲(chǔ)器3與主控芯片4。其中,主控 芯片4具體可以通過(guò)本發(fā)明上述任一實(shí)施例提供的數(shù)據(jù)存儲(chǔ)處理裝置實(shí)現(xiàn)。如圖11所示, 為本發(fā)明SSD系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。基于本發(fā)明上述實(shí)施例提供的SSD系統(tǒng),可以在接收到主機(jī)發(fā)送的寫命令后,將 其中的操作數(shù)據(jù)寫入高速緩沖存儲(chǔ)器中,并將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入一個(gè)非 易失性存儲(chǔ)介質(zhì)單元中,之后將操作數(shù)據(jù)從高速緩沖存儲(chǔ)器寫入快閃記憶體芯片中,并向 主機(jī)發(fā)送寫命令完成結(jié)果消息,從而可以實(shí)時(shí)對(duì)主機(jī)發(fā)送的寫命令進(jìn)行處理并及時(shí)對(duì)主機(jī) 進(jìn)行響應(yīng),即使在開(kāi)始對(duì)備電模塊進(jìn)行充電到備電模塊的電量達(dá)到特定閾值的過(guò)程中,或 者在對(duì)備電模塊的工作狀態(tài)進(jìn)行檢測(cè)的過(guò)程中,甚至在備電模塊故障時(shí),都可以及時(shí)可靠 的響應(yīng)主機(jī)端發(fā)送的寫命令,從而避免主機(jī)端的踢盤行為,保證操作數(shù)據(jù)的可靠性、映射關(guān) 系表項(xiàng)的正確性與可靠性,提高主機(jī)與SSD系統(tǒng)之間的通信速度,有效保證SSD系統(tǒng)與主機(jī) 的正常通信。圖12為本發(fā)明SSD系統(tǒng)另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,與圖11所示的實(shí)施例相比, 該實(shí)施例的SSD系統(tǒng)還包括非易失性存儲(chǔ)介質(zhì)單元5,用于存儲(chǔ)LBA與PBA之間的對(duì)應(yīng)關(guān)系
fn息ο圖13為本發(fā)明SSD系統(tǒng)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,與圖11或圖12所示的實(shí)施 例相比,該實(shí)施例的SSD系統(tǒng)還包括備電模塊6,用于作為主電源的備電模塊。此外,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)處理系統(tǒng),其包括主機(jī)與本發(fā)明上述任一 實(shí)施例提供的SSD系統(tǒng)。如圖14所示,為本發(fā)明數(shù)據(jù)處理系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。基于本發(fā)明上述實(shí)施例提供的數(shù)據(jù)處理系統(tǒng),可以在接收到主機(jī)發(fā)送的寫命令 后,將其中的操作數(shù)據(jù)寫入SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間的對(duì)應(yīng)關(guān) 系信息寫入一個(gè)非易失性存儲(chǔ)介質(zhì)單元中,之后將操作數(shù)據(jù)從高速緩沖存儲(chǔ)器寫入SSD系 統(tǒng)中的快閃記憶體芯片中,并向主機(jī)發(fā)送寫命令完成結(jié)果消息,從而可以實(shí)時(shí)對(duì)主機(jī)發(fā)送 的寫命令進(jìn)行處理并及時(shí)對(duì)主機(jī)進(jìn)行響應(yīng),即使在開(kāi)始對(duì)備電模塊進(jìn)行充電到備電模塊的 電量達(dá)到特定閾值的過(guò)程中,或者在對(duì)備電模塊的工作狀態(tài)進(jìn)行檢測(cè)的過(guò)程中,甚至在備 電模塊故障時(shí),都可以及時(shí)可靠的響應(yīng)主機(jī)端發(fā)送的寫命令,從而避免主機(jī)端的踢盤行為, 保證操作數(shù)據(jù)的可靠性、映射關(guān)系表項(xiàng)的正確性與可靠性,提高主機(jī)與SSD系統(tǒng)之間的通 信速度,有效保證SSD系統(tǒng)與主機(jī)的正常通信。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò) 程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序 在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者 光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)處理方法與裝置、SSD系統(tǒng)與數(shù)據(jù)處理系統(tǒng),實(shí)時(shí)對(duì) 主機(jī)發(fā)送的寫命令進(jìn)行處理并及時(shí)對(duì)主機(jī)進(jìn)行響應(yīng),即使在開(kāi)始對(duì)備電模塊進(jìn)行充電到備 電模塊的電量達(dá)到特定閾值的過(guò)程中,或者在對(duì)備電模塊的工作狀態(tài)進(jìn)行檢測(cè)的過(guò)程中, 甚至在備電模塊故障時(shí),都可以及時(shí)可靠的響應(yīng)主機(jī)端發(fā)送的寫命令,從而避免主機(jī)端的 踢盤行為,保證操作數(shù)據(jù)的可靠性、映射關(guān)系表項(xiàng)的正確性與可靠性,提高主機(jī)與SSD系統(tǒng) 之間的通信速度,有效保證SSD系統(tǒng)與主機(jī)的正常通信。最后所應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)本發(fā)明作限制性理解。盡管參照上述較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員 應(yīng)當(dāng)理解其依然可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而這種修改或者等同 替換并不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
一種數(shù)據(jù)存儲(chǔ)處理方法,其特征在于,包括接收主機(jī)發(fā)送的寫命令,該寫命令包括操作數(shù)據(jù),和所述操作數(shù)據(jù)在所述主機(jī)的邏輯地址LBA與在將要被寫入的固態(tài)硬盤SSD系統(tǒng)中快閃記憶體芯片的物理地址PBA之間的對(duì)應(yīng)關(guān)系信息;將所述操作數(shù)據(jù)寫入所述SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中;將所述操作數(shù)據(jù)從所述高速緩沖存儲(chǔ)器寫入所述SSD系統(tǒng)中的快閃記憶體芯片中,并向所述主機(jī)發(fā)送寫命令完成結(jié)果消息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收主機(jī)發(fā)送的寫命令之前,還包括將所述快閃記憶體芯片中存儲(chǔ)的映射關(guān)系 表項(xiàng)復(fù)制到所述高速緩沖存儲(chǔ)器中;將所述操作數(shù)據(jù)寫入所述快閃記憶體芯片中之后,還包括根據(jù)所述LBA與PBA之間的 對(duì)應(yīng)關(guān)系信息,對(duì)所述高速緩沖存儲(chǔ)器中的映射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述LBA與PBA之間的對(duì)應(yīng)關(guān) 系信息,對(duì)所述高速緩沖存儲(chǔ)器中的映射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng),具體包 括在所述SSD系統(tǒng)中的主電源停止供電時(shí),檢測(cè)所述SSD系統(tǒng)中的備電模塊的電量,并判 斷所述備電模塊的電量是否達(dá)到特定閾值;若所述備電模塊的電量達(dá)到特定閾值,執(zhí)行所述根據(jù)所述LBA與PBA之間的對(duì)應(yīng)關(guān)系 信息對(duì)所述高速緩沖存儲(chǔ)器中的映射關(guān)系表項(xiàng)進(jìn)行更新的操作;若所述備電模塊的電量未達(dá)到特定閾值,根據(jù)所述LBA與PBA之間的對(duì)應(yīng)關(guān)系信息對(duì) 所述快閃記憶體芯片中的映射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非 易失性存儲(chǔ)介質(zhì)單元中包括識(shí)別所述非易失性存儲(chǔ)介質(zhì)單元中已有的對(duì)應(yīng)關(guān)系信息的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)值;若已有的對(duì)應(yīng)關(guān)系信息的數(shù)量達(dá)到預(yù)設(shè)數(shù)值,刪除所述非易失性存儲(chǔ)介質(zhì)單元中已有 的對(duì)應(yīng)關(guān)系信息,然后執(zhí)行所述將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì) 單元中的操作;若已有的對(duì)應(yīng)關(guān)系信息的數(shù)量未達(dá)到預(yù)設(shè)數(shù)值,則直接執(zhí)行所述將LBA與PBA之間的 對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中的操作。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括檢測(cè)所述SSD系統(tǒng)中的備電模塊的電量,并在所述備電模塊的電量達(dá)到特定閾值時(shí), 判斷所述非易失性存儲(chǔ)介質(zhì)單元中是否存儲(chǔ)有LBA與PBA之間的對(duì)應(yīng)關(guān)系信息,并在存儲(chǔ) 有LBA與PBA之間的對(duì)應(yīng)關(guān)系信息時(shí),刪除所述非易失性存儲(chǔ)介質(zhì)單元中存儲(chǔ)的對(duì)應(yīng)關(guān)系 fn息ο
6.根據(jù)權(quán)利要求2至5任意一項(xiàng)所述的方法,其特征在于,所述接收主機(jī)發(fā)送的寫命令 之后,還包括檢測(cè)所述SSD系統(tǒng)中的備電模塊的電量,并判斷所述備電模塊的電量是否達(dá) 到特定閾值,并在所述備電模塊的電量未達(dá)到特定閾值時(shí),執(zhí)行所述將所述操作數(shù)據(jù)寫入 所述SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性 存儲(chǔ)介質(zhì)單元中的操作。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在所述備電模塊的電量達(dá)到特定閾值時(shí), 還包括將所述操作數(shù)據(jù)寫入所述高速緩沖存儲(chǔ)器中,并利用LBA與PBA之間的對(duì)應(yīng)關(guān)系信 息對(duì)所述高速緩沖存儲(chǔ)器中的映射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng),并向所述主 機(jī)發(fā)送寫命令完成結(jié)果消息。
8.一種數(shù)據(jù)存儲(chǔ)處理裝置,其特征在于,包括接收模塊,用于接收主機(jī)發(fā)送的寫命令,該寫命令包括操作數(shù)據(jù),和所述操作數(shù)據(jù)在所 述主機(jī)的LBA與在將要被寫入的SSD系統(tǒng)中快閃記憶體芯片的PBA之間的對(duì)應(yīng)關(guān)系信息;第一操作處理模塊,用于將所述操作數(shù)據(jù)寫入所述SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中, 并將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中;第二操作處理模塊,用于將所述操作數(shù)據(jù)從所述高速緩沖存儲(chǔ)器寫入所述SSD系統(tǒng)中 的快閃記憶體芯片中;發(fā)送模塊,用于在第二操作處理模塊將所述操作數(shù)據(jù)寫入所述快閃記憶體芯片中之 后,向所述主機(jī)發(fā)送寫命令完成結(jié)果消息。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括復(fù)制處理模塊,用于將所述快閃記憶體芯片中存儲(chǔ)的映射關(guān)系表項(xiàng)復(fù)制到所述高速緩 沖存儲(chǔ)器中;更新處理模塊,用于根據(jù)所述LBA與PBA之間的對(duì)應(yīng)關(guān)系信息,對(duì)所述高速緩沖存儲(chǔ)器 中的映射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括第一檢測(cè)識(shí)別模塊,用于在所述SSD系統(tǒng)中的主電源停止供電時(shí),檢測(cè)所述SSD系統(tǒng)中 的備電模塊的電量,并判斷所述備電模塊的電量達(dá)到特定閾值;更新處理模塊,具體根據(jù)所述第一檢測(cè)識(shí)別模塊的判斷結(jié)果,在所述備電模塊的電量 達(dá)到特定閾值時(shí),根據(jù)所述LBA與PBA之間的對(duì)應(yīng)關(guān)系信息,對(duì)所述高速緩沖存儲(chǔ)器中的映 射關(guān)系表項(xiàng)進(jìn)行更新,生成新映射關(guān)系表項(xiàng);在所述備電模塊的電量未達(dá)到特定閾值時(shí),根 據(jù)所述LBA與PBA之間的對(duì)應(yīng)關(guān)系信息對(duì)所述快閃記憶體芯片中的映射關(guān)系表項(xiàng)進(jìn)行更 新,生成新映射關(guān)系表項(xiàng)。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第一操作處理模塊包括第一寫入單元,用于將所述操作數(shù)據(jù)寫入所述SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中;識(shí)別單元,用于識(shí)別所述非易失性存儲(chǔ)介質(zhì)單元中已有的對(duì)應(yīng)關(guān)系信息的數(shù)量是否達(dá) 到預(yù)設(shè)數(shù)值;刪除單元,用于根據(jù)所述識(shí)別單元的識(shí)別結(jié)果,在已有的對(duì)應(yīng)關(guān)系信息的數(shù)量達(dá)到預(yù) 設(shè)數(shù)值時(shí),刪除所述非易失性存儲(chǔ)介質(zhì)單元中已有的對(duì)應(yīng)關(guān)系信息;第二寫入單元,用于在所述刪除單元?jiǎng)h除所述非易失性存儲(chǔ)介質(zhì)單元中已有的對(duì)應(yīng)關(guān) 系信息后,將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中,以及根據(jù)所述 識(shí)別單元的識(shí)別結(jié)果,在已有的對(duì)應(yīng)關(guān)系信息的數(shù)量未達(dá)到預(yù)設(shè)數(shù)值時(shí),將LBA與PBA之間 的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中。
12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括第二檢測(cè)識(shí)別模塊,用于檢測(cè)所述SSD系統(tǒng)中的備電模塊的電量,并判斷所述SSD系統(tǒng) 中的備電模塊的電量是否達(dá)到特定閾值;判斷模塊,用于根據(jù)所述第二檢測(cè)識(shí)別模塊的判斷結(jié)果,在所述SSD系統(tǒng)中的備電模 塊的電量達(dá)到特定閾值時(shí),判斷所述非易失性存儲(chǔ)介質(zhì)單元中是否存儲(chǔ)有LBA與PBA之間 的對(duì)應(yīng)關(guān)系信息;刪除模塊,用于根據(jù)所述判斷模塊的判斷結(jié)果,在存儲(chǔ)有LBA與PBA之間的對(duì)應(yīng)關(guān)系信 息時(shí),刪除所述非易失性存儲(chǔ)介質(zhì)單元中存儲(chǔ)的對(duì)應(yīng)關(guān)系信息。
13.根據(jù)權(quán)利要求8至12任意一項(xiàng)所述的裝置,其特征在于,還包括第三檢測(cè)識(shí)別模塊,用于在所述接收模塊接收到主機(jī)發(fā)送的寫命令之后,檢測(cè)所述SSD 系統(tǒng)中的備電模塊的電量,并判斷所述備電模塊的電量達(dá)到特定閾值;所述第一操作處理模塊具體根據(jù)所述第三檢測(cè)識(shí)別模塊的檢測(cè)結(jié)果,在所述備電模塊 的電量未達(dá)到特定閾值時(shí),將所述操作數(shù)據(jù)寫入所述SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并 將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中。
14.一種固態(tài)硬盤系統(tǒng),包括主電源、快閃記憶體芯片、高速緩沖存儲(chǔ)器與主控芯片,其 特征在于,所述主控芯片具體為權(quán)利要求8至13任意一項(xiàng)所述的數(shù)據(jù)存儲(chǔ)處理裝置。
15.根據(jù)權(quán)利要求14所述的固態(tài)硬盤系統(tǒng),其特征在于,還包括非易失性存儲(chǔ)介質(zhì)單元,用于存儲(chǔ)所述LBA與PBA之間的對(duì)應(yīng)關(guān)系信息;備電模塊,用于作為所述主電源的備電模塊。
16.根據(jù)權(quán)利要求15所述的固態(tài)硬盤系統(tǒng),其特征在于,所述非易失性存儲(chǔ)介質(zhì)單元 為鐵電隨機(jī)存儲(chǔ)器、磁性隨機(jī)存儲(chǔ)器、非易失性靜態(tài)隨機(jī)存儲(chǔ)器或者電可擦可編程只讀存 儲(chǔ)器。
17.一種數(shù)據(jù)處理系統(tǒng),包括主機(jī),其特征在于,還包括權(quán)利要求14 16任一項(xiàng)所述的 固態(tài)硬盤系統(tǒng)。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種數(shù)據(jù)存儲(chǔ)處理方法與裝置、固態(tài)硬盤系統(tǒng)與數(shù)據(jù)處理系統(tǒng),其中,方法包括接收主機(jī)發(fā)送的寫命令,該寫命令包括操作數(shù)據(jù),和所述操作數(shù)據(jù)在所述主機(jī)的邏輯地址LBA與在將要被寫入的固態(tài)硬盤SSD系統(tǒng)中快閃記憶體芯片的物理地址PBA之間的對(duì)應(yīng)關(guān)系信息;將所述操作數(shù)據(jù)寫入所述SSD系統(tǒng)中的高速緩沖存儲(chǔ)器中,并將LBA與PBA之間的對(duì)應(yīng)關(guān)系信息寫入非易失性存儲(chǔ)介質(zhì)單元中;將所述操作數(shù)據(jù)從所述高速緩沖存儲(chǔ)器寫入所述SSD系統(tǒng)中的快閃記憶體芯片中,并向所述主機(jī)發(fā)送寫命令完成結(jié)果消息。本發(fā)明實(shí)施例可以使得SSD系統(tǒng)及時(shí)響應(yīng)主機(jī)端發(fā)送的寫命令,從而保證SSD系統(tǒng)與主機(jī)的正常通信。
文檔編號(hào)G06F3/06GK101963891SQ201010291528
公開(kāi)日2011年2月2日 申請(qǐng)日期2010年9月25日 優(yōu)先權(quán)日2010年9月25日
發(fā)明者李欣, 柯喬, 黎燕 申請(qǐng)人:成都市華為賽門鐵克科技有限公司