專利名稱:一種固態(tài)硬盤及其讀-修改-寫操作的數(shù)據(jù)管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及固態(tài)硬盤及信息存儲(chǔ)領(lǐng)域,尤其涉及一種固態(tài)硬盤及其讀-修改-寫操作的數(shù)據(jù)管理方法。
背景技術(shù):
固態(tài)硬盤主要包括微控制器和閃存單元,目前固態(tài)硬盤的閃存單元主要采用NAND FLSH(閃存的一種)芯片,NAND FLASH顆粒的讀寫單元一般為一整個(gè)頁(yè),比如8KB ;而文件系統(tǒng)的讀寫單元,由于歷史的原因只用512B。由于兩者的不匹配,以及NAND FLASH在寫之前必須要擦除的特性,產(chǎn)生了 RMW(讀-修改-寫操作)的問(wèn)題。比如文件系統(tǒng)要修改LBA_ i的內(nèi)容,則固態(tài)硬盤需要先讀出LBA_i所在的NAND FLASH物理頁(yè),修改LBA_i所在位置的內(nèi)容,然后依據(jù)新的邏輯地址到物理地址映射將修改后的頁(yè)寫入到新分配的物理地址?,F(xiàn)有RMW的數(shù)據(jù)管理方法主要包括以下兩種方式一、純粹的RMW 將讀-修改-寫操作三個(gè)動(dòng)作完全串行化,具體實(shí)現(xiàn)方法如圖1所示。其優(yōu)點(diǎn)在于實(shí)現(xiàn)簡(jiǎn)單、不消耗額外的內(nèi)存總線帶寬;其缺點(diǎn)在于讀-修改操作串行化,性能較低,微控制器需全程參與。二、帶歸并功能的RMW:讀-修改操作并行,使用獨(dú)立的讀、修改緩沖區(qū),而后對(duì)讀、 修改緩沖區(qū)進(jìn)行歸并,并將歸并后的內(nèi)容寫出,具體實(shí)現(xiàn)方法如圖2所示。其優(yōu)點(diǎn)在于 讀-修改操作并行化,其缺點(diǎn)在于需要獨(dú)立的讀、修改緩沖區(qū);歸并操作需要消耗額外的內(nèi)存總線帶寬和時(shí)間;微控制器需全程參與。綜上可知,現(xiàn)有固態(tài)硬盤讀-修改-寫操作的數(shù)據(jù)管理方法在實(shí)際使用上,顯然存在不便與缺陷,所以有必要加以改進(jìn)。
發(fā)明內(nèi)容
針對(duì)上述的缺陷,本發(fā)明的目的在于提供一種固態(tài)硬盤及其讀-修改-寫操作的數(shù)據(jù)管理方法。其能在不額外增加緩沖區(qū)的前提下,降低微控制器的參與程度、節(jié)省內(nèi)存總線帶寬、提高讀-修改-寫操作的性能。為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種固態(tài)硬盤讀-修改-寫操作的數(shù)據(jù)管理方法, 所述方法包括如下步驟固態(tài)硬盤收到宿主機(jī)的邏輯塊地址寫命令;所述固態(tài)硬盤的微控制器為所述邏輯塊地址寫命令分配頁(yè)緩沖區(qū),并基于所述頁(yè)緩沖區(qū)建立具有同步機(jī)制的宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求,所述存儲(chǔ)器頁(yè)讀請(qǐng)求包含可配置直接內(nèi)存存取所需的數(shù)據(jù)傳輸描述;所述固態(tài)硬盤的串行硬件驅(qū)動(dòng)器接口以及存儲(chǔ)器控制器根據(jù)所述同步機(jī)制執(zhí)行宿主機(jī)寫操作、存儲(chǔ)器頁(yè)讀操作以及存儲(chǔ)器頁(yè)寫操作。根據(jù)本發(fā)明的數(shù)據(jù)管理方法,所述同步機(jī)制具體為同步執(zhí)行所述宿主機(jī)寫操作請(qǐng)求和所述存儲(chǔ)器頁(yè)讀操作請(qǐng)求,當(dāng)所述存儲(chǔ)器頁(yè)讀操作請(qǐng)求和所述宿主機(jī)寫操作請(qǐng)求完成后執(zhí)行所述存儲(chǔ)器頁(yè)寫操作請(qǐng)求。根據(jù)本發(fā)明的數(shù)據(jù)管理方法,所述可配置直接內(nèi)存存取的數(shù)據(jù)傳輸描述具體為將存儲(chǔ)器讀出頁(yè)中指定邏輯塊地址區(qū)間的數(shù)據(jù)傳輸?shù)剿鲰?yè)緩沖區(qū)中,將需要被修改部分的邏輯塊地址區(qū)間的數(shù)據(jù)丟棄。根據(jù)本發(fā)明的數(shù)據(jù)管理方法,所述同步機(jī)制具體為所述微控制器為所述頁(yè)緩沖區(qū)在內(nèi)存中設(shè)置對(duì)應(yīng)的同步描述符,所述同步描述符包括累加計(jì)數(shù)變量和目標(biāo)計(jì)數(shù)變量, 所述累加計(jì)數(shù)變量的初始值為0,所述目標(biāo)計(jì)數(shù)變量的初始值為2 ;所述存儲(chǔ)器控制器執(zhí)行存儲(chǔ)器頁(yè)讀操作后將所述累加計(jì)數(shù)變量的值加1,且所述串行硬件驅(qū)動(dòng)器接口執(zhí)行宿主機(jī)寫操作后將所述累加計(jì)數(shù)變量的值加1 ;當(dāng)所述累加計(jì)數(shù)變量的值等于所述目標(biāo)計(jì)數(shù)變量的初始值后,所述存儲(chǔ)器控制器執(zhí)行所述存儲(chǔ)器頁(yè)寫操作。根據(jù)本發(fā)明的數(shù)據(jù)管理方法,所述串行硬件驅(qū)動(dòng)器接口為串行高級(jí)技術(shù)附件。本發(fā)明還提供一種固態(tài)硬盤,所述固態(tài)硬盤包括微控制器,用于當(dāng)所述固態(tài)硬盤收到宿主機(jī)的邏輯塊地址寫命令時(shí);為所述邏輯塊地址寫命令分配頁(yè)緩沖區(qū),并基于所述頁(yè)緩沖區(qū)建立具有同步機(jī)制的宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求,其中存儲(chǔ)器頁(yè)讀請(qǐng)求包含可配置直接內(nèi)存存取所需的數(shù)據(jù)傳輸描述;串行硬件驅(qū)動(dòng)器接口,用于根據(jù)所述同步機(jī)制執(zhí)行宿主機(jī)寫操作;存儲(chǔ)器控制器,用于根據(jù)所述同步機(jī)制執(zhí)行存儲(chǔ)器頁(yè)讀操作和存儲(chǔ)器頁(yè)寫操作。根據(jù)本發(fā)明的固態(tài)硬盤,所述同步機(jī)制具體為同步執(zhí)行所述宿主機(jī)寫操作請(qǐng)求和所述存儲(chǔ)器頁(yè)讀操作請(qǐng)求,當(dāng)存儲(chǔ)器頁(yè)讀操作請(qǐng)求和宿主機(jī)寫操作請(qǐng)求完成后執(zhí)行所述存儲(chǔ)器頁(yè)寫請(qǐng)求。根據(jù)本發(fā)明的固態(tài)硬盤,所述可配置直接內(nèi)存存取的數(shù)據(jù)傳輸描述具體為將存儲(chǔ)器讀出頁(yè)中指定邏輯塊地址區(qū)間的數(shù)據(jù)傳輸?shù)剿鲰?yè)緩沖區(qū)中,將需要被修改部分的邏輯塊地址區(qū)間的數(shù)據(jù)丟棄。根據(jù)本發(fā)明的固態(tài)硬盤,所述同步機(jī)制具體為所述微控制器為所述頁(yè)緩沖區(qū)在內(nèi)存中設(shè)置對(duì)應(yīng)的同步描述符,所述同步描述符包括累加計(jì)數(shù)變量和目標(biāo)計(jì)數(shù)變量,所述累加計(jì)數(shù)變量的初始值為0,所述目標(biāo)計(jì)數(shù)變量的初始值為2 ;所述存儲(chǔ)器控制器執(zhí)行存儲(chǔ)器頁(yè)讀操作后將所述累加計(jì)數(shù)變量的值加1,且所述串行硬件驅(qū)動(dòng)器接口執(zhí)行宿主機(jī)寫操作后也將所述累加計(jì)數(shù)變量的值加1 ;當(dāng)所述累加計(jì)數(shù)變量的值等于所述目標(biāo)計(jì)數(shù)變量的初始值后,所述存儲(chǔ)器控制器執(zhí)行所述存儲(chǔ)器頁(yè)寫操作。根據(jù)本發(fā)明的固態(tài)硬盤,所述串行硬件驅(qū)動(dòng)器接口為串行高級(jí)技術(shù)附件。本發(fā)明通過(guò)在宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求間建立同步機(jī)制,使存儲(chǔ)器頁(yè)讀操作請(qǐng)求(即修改操作)和宿主機(jī)寫操作請(qǐng)求并行,可提高讀-修改-寫操作性能。通過(guò)引入可配置直接內(nèi)存存取,無(wú)需使用額外的頁(yè)緩沖區(qū)、更不需要引入額外的歸并操作,由于在存儲(chǔ)器頁(yè)讀操作時(shí)“被修改的數(shù)據(jù)”不會(huì)傳輸,還可進(jìn)一步節(jié)省內(nèi)存總線帶寬;同時(shí)通過(guò)引入同步機(jī)制,微控制器只需要在開(kāi)始時(shí)建立所需的讀-修改-寫操作請(qǐng)求及其同步描述符,無(wú)需參與讀-修改-寫操作后續(xù)過(guò)程,降低了微控制器的參與程度。借此,本發(fā)明能在不額外增加緩沖區(qū)的前提下、降低微控制器的參與程度、節(jié)省內(nèi)存總線帶寬、提高讀-修改-寫操作的性能。
圖1是現(xiàn)有技術(shù)中一種RMW數(shù)據(jù)管理方法的示意圖;圖2是現(xiàn)有技術(shù)中另一種RMW數(shù)據(jù)管理方法的示意圖;圖3是本發(fā)明本一種固態(tài)硬盤讀-修改-寫操作的數(shù)據(jù)管理方法的流程圖;圖4是本發(fā)明一種固態(tài)硬盤讀-修改-寫操作的數(shù)據(jù)管理方法的應(yīng)用實(shí)施例;圖5是本發(fā)明一種固態(tài)硬盤讀-修改-寫操作的數(shù)據(jù)管理方法中可配置DMA的具體實(shí)現(xiàn)方法的示意圖;圖6是本發(fā)明一種固態(tài)硬盤的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖3所示,本發(fā)明一種固態(tài)硬盤讀-修改-寫操作的數(shù)據(jù)管理方法,其主要包括以下步驟步驟S301,固態(tài)硬盤收到宿主機(jī)的邏輯塊地址寫命令。其中宿主機(jī)為固態(tài)硬盤的使用者,例如計(jì)算機(jī),具體為BIOS (Basic Input Output System,基本輸入輸出系統(tǒng))或操作系統(tǒng)。步驟S302,固態(tài)硬盤的微控制器為邏輯塊地址寫命令分配頁(yè)緩沖區(qū),并基于頁(yè)緩沖區(qū)建立具有同步機(jī)制的宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求,存儲(chǔ)器頁(yè)讀請(qǐng)求包含可配置直接內(nèi)存存取所需的數(shù)據(jù)傳輸描述。宿主機(jī)寫操作請(qǐng)求即為宿主機(jī)對(duì)指定邏輯塊地址的修改操作。該存儲(chǔ)器為NAND FLASH閃存芯片。在本步驟中,宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求之間的同步機(jī)制具體為同步執(zhí)行宿主機(jī)寫操作請(qǐng)求和存儲(chǔ)器頁(yè)讀操作請(qǐng)求,當(dāng)存儲(chǔ)器頁(yè)讀操作請(qǐng)求和宿主機(jī)寫操作請(qǐng)求完成后執(zhí)行所述存儲(chǔ)器頁(yè)寫請(qǐng)求。在實(shí)際操作過(guò)程中,可將同步機(jī)制具體描述為微控制器為頁(yè)緩沖區(qū)在內(nèi)存中設(shè)置對(duì)應(yīng)的同步描述符,同步描述符包括累加計(jì)數(shù)變量和目標(biāo)計(jì)數(shù)變量,累加計(jì)數(shù)變量的初始值為0,目標(biāo)計(jì)數(shù)變量的初始值為2 ;存儲(chǔ)器控制器執(zhí)行存儲(chǔ)器頁(yè)讀操作后將所述累加計(jì)數(shù)變量的值加1,且串行硬件驅(qū)動(dòng)器接口執(zhí)行宿主機(jī)寫操作后也將所述累加計(jì)數(shù)變量的值加1 ;當(dāng)累加計(jì)數(shù)變量的值等于目標(biāo)計(jì)數(shù)變量的初始值后,存儲(chǔ)器控制器執(zhí)行存儲(chǔ)器頁(yè)寫操作。串行硬件驅(qū)動(dòng)器接口優(yōu)選為 SATA (Serial Advanced Technology Attachment,串行高級(jí)技術(shù)附件,一種基于行業(yè)標(biāo)準(zhǔn)的串行硬件驅(qū)動(dòng)器接口)。在本步驟中,可配置直接內(nèi)存存取的數(shù)據(jù)傳輸描述具體為將存儲(chǔ)器讀出頁(yè)中指定邏輯塊地址區(qū)間的數(shù)據(jù)傳輸?shù)巾?yè)緩沖區(qū)中,將需要被修改部分的邏輯塊地址區(qū)間的數(shù)據(jù)丟棄。步驟S303,固態(tài)硬盤的串行硬件驅(qū)動(dòng)器接口以及存儲(chǔ)器控制器根據(jù)同步機(jī)制執(zhí)行宿主機(jī)寫操作、存儲(chǔ)器頁(yè)讀操作以及存儲(chǔ)器頁(yè)寫操作。其中,宿主機(jī)寫操作由串行硬件驅(qū)動(dòng)器接口執(zhí)行,存儲(chǔ)器頁(yè)讀操作以及存儲(chǔ)器頁(yè)寫操作由存儲(chǔ)器控制器執(zhí)行。本發(fā)明通過(guò)在宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求間建立同步機(jī)制,使存儲(chǔ)器頁(yè)讀操作請(qǐng)求(即修改操作)和宿主機(jī)寫操作請(qǐng)求并行,可提高讀-修改-寫操作性能。通過(guò)引入可配置直接內(nèi)存存取,無(wú)需使用額外的頁(yè)緩沖區(qū)、更不需要引入額外的歸并操作,由于在存儲(chǔ)器頁(yè)讀操作時(shí)“被修改的數(shù)據(jù)”不會(huì)傳輸,還可進(jìn)一步節(jié)省內(nèi)存總線帶寬;同時(shí)通過(guò)引入同步機(jī)制,微控制器只需要在開(kāi)始時(shí)建立所需的讀-修改-寫操作請(qǐng)求及其同步描述符,無(wú)需參與讀-修改-寫操作后續(xù)過(guò)程,降低了微控制器的參與程度。圖4示出了本發(fā)明的一種應(yīng)用實(shí)施例,SSD(Solid State Disk,固態(tài)硬盤)中包括NAND FLASH芯片禾Π MCU(Micro control unit,微控制器),NAND FLASH芯片中集成有 NFC(Nand flash controller,閃存控制器),同時(shí)固態(tài)硬盤還包括SATA。當(dāng)SSD收到Host (宿主機(jī))關(guān)于LBA (Logical Block Address,邏輯塊地址)寫命令時(shí);MCU為該LBA寫命令在memory (內(nèi)存)中分配page buffer (頁(yè)緩沖區(qū)),并在memory 中圍繞該page buffer分別建立Host寫請(qǐng)求(1. 3)、Nand page讀請(qǐng)求(1)和Nand page 寫請(qǐng)求(2)。其中Nand page讀請(qǐng)求(1)包含可配置DMA (Direct Memory Access,直接內(nèi)存存取)所需的數(shù)據(jù)傳輸描述。可配置DMA的具體實(shí)現(xiàn)方法如圖5所示,其可根據(jù)軟件要求, 將NAND FLASH芯片的讀出頁(yè)中指定的LBA區(qū)間傳輸?shù)街付ǖ腖PA(Logical page Address, 邏輯頁(yè)地址)緩沖區(qū)中,將需要被修改部分LBA區(qū)間的數(shù)據(jù)丟棄。MCU為該LBA寫命令相關(guān)的操作請(qǐng)求基于sync (同步)機(jī)制建立“Sync描述符”。 “Sync描述符”簡(jiǎn)單描述為Nand page寫請(qǐng)求⑵被設(shè)置為只有當(dāng)“Sync描述符”被Nand page讀請(qǐng)求(1)和Host寫請(qǐng)求(1. 3)更新后才能進(jìn)一步執(zhí)行;Nand page讀請(qǐng)求(1)和 Host寫請(qǐng)求(1. 3)完成后軟件會(huì)分別自動(dòng)對(duì)“Sync描述符”進(jìn)行更新,并觸發(fā)Sync機(jī)制更新檢查,此時(shí)軟件可將Nand page寫請(qǐng)求( 繼續(xù)向下執(zhí)行。Sync(同步)機(jī)制是一種不同硬件模塊之間的握手機(jī)制。具體而言,每個(gè)LPA數(shù)據(jù)緩沖區(qū)在MEMORY中擁有對(duì)應(yīng)的“SYNC描述符” sync_cur_cnt和sync_target_cnt,可簡(jiǎn)單理解為兩個(gè)計(jì)數(shù)變量,sync_cur_cnt為累加計(jì)數(shù)變量,sync_target_cnt為目標(biāo)計(jì)數(shù)變量。對(duì)于一個(gè)需要進(jìn)行RMW操作的LPA,軟件會(huì)一次性為其建立RMW相關(guān)的3個(gè)操作,并設(shè)置 sync_cur_cnt 為 0,sync_target_cnt 為 2 ;NFC 負(fù)責(zé)發(fā)起 RMW_READ,該操作完成后 NFC 將 sync_cur_cnt 力卩 1 ;SATA 完成 RMW_M0DIFY 后也將 sync_cur_cnt 加一;對(duì)于 RMW_WRITE 操作,NFC需要等到sync_cur_cnt等于sync_target_cnt時(shí)才能執(zhí)行。由此可見(jiàn),MCU只需要在LBA寫命令開(kāi)始時(shí),為其分配頁(yè)緩沖區(qū)、建立操作請(qǐng)求、 Sync描述符就可以了 ;而無(wú)需參與RMW的具體操作過(guò)程。利用Read和Modify并行操作的同時(shí),沒(méi)有耗費(fèi)額外的帶寬和緩沖區(qū)。如圖6所示,本發(fā)明相應(yīng)提供一種固態(tài)硬盤100,其包括微控制器10,用于當(dāng)所述固態(tài)硬盤收到宿主機(jī)關(guān)于邏輯塊地址寫命令時(shí);為所述邏輯塊地址寫命令分配頁(yè)緩沖區(qū),并基于所述頁(yè)緩沖區(qū)建立具有同步機(jī)制的宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求,其中存儲(chǔ)器頁(yè)讀請(qǐng)求包含可配置直接內(nèi)存存取所需的數(shù)據(jù)傳輸描述;串行硬件驅(qū)動(dòng)器接口 20,用于根據(jù)所述同步機(jī)制執(zhí)行宿主機(jī)寫操作;
存儲(chǔ)器控制器30,用于根據(jù)所述同步機(jī)制執(zhí)行存儲(chǔ)器頁(yè)讀操作和存儲(chǔ)器頁(yè)寫操作。串行硬件驅(qū)動(dòng)器接口優(yōu)選為SATA(Serial Advanced Technology Attachment,串行高級(jí)技術(shù)附件,一種基于行業(yè)標(biāo)準(zhǔn)的串行硬件驅(qū)動(dòng)器接口)。顯然,固態(tài)硬盤還應(yīng)包括存儲(chǔ)器 40等結(jié)構(gòu)。綜上所述,本發(fā)明通過(guò)在宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求間建立同步機(jī)制,使存儲(chǔ)器頁(yè)讀操作請(qǐng)求(即修改操作)和宿主機(jī)寫操作請(qǐng)求并行,可提高讀-修改-寫操作性能。通過(guò)引入可配置直接內(nèi)存存取,無(wú)需使用額外的頁(yè)緩沖區(qū)、更不需要引入額外的歸并操作,由于在存儲(chǔ)器頁(yè)讀操作時(shí)“被修改的數(shù)據(jù)”不會(huì)傳輸,還可進(jìn)一步節(jié)省內(nèi)存總線帶寬;同時(shí)通過(guò)引入同步機(jī)制,微控制器只需要在開(kāi)始時(shí)建立所需的讀-修改-寫操作請(qǐng)求及其同步描述符,無(wú)需參與讀-修改-寫操作后續(xù)過(guò)程,降低了微控制器的參與程度。當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種固態(tài)硬盤讀-修改-寫操作的數(shù)據(jù)管理方法,其特征在于,所述方法包括如下步驟固態(tài)硬盤收到宿主機(jī)的邏輯塊地址寫命令;所述固態(tài)硬盤的微控制器為所述邏輯塊地址寫命令分配頁(yè)緩沖區(qū),并基于所述頁(yè)緩沖區(qū)建立具有同步機(jī)制的宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求, 所述存儲(chǔ)器頁(yè)讀請(qǐng)求包含可配置直接內(nèi)存存取所需的數(shù)據(jù)傳輸描述;所述固態(tài)硬盤的串行硬件驅(qū)動(dòng)器接口以及存儲(chǔ)器控制器根據(jù)所述同步機(jī)制執(zhí)行宿主機(jī)寫操作、存儲(chǔ)器頁(yè)讀操作以及存儲(chǔ)器頁(yè)寫操作。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)管理方法,其特征在于,所述同步機(jī)制具體為同步執(zhí)行所述宿主機(jī)寫操作請(qǐng)求和所述存儲(chǔ)器頁(yè)讀操作請(qǐng)求,當(dāng)所述存儲(chǔ)器頁(yè)讀操作請(qǐng)求和所述宿主機(jī)寫操作請(qǐng)求完成后執(zhí)行所述存儲(chǔ)器頁(yè)寫操作請(qǐng)求。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)管理方法,其特征在于,所述可配置直接內(nèi)存存取的數(shù)據(jù)傳輸描述具體為將存儲(chǔ)器讀出頁(yè)中指定邏輯塊地址區(qū)間的數(shù)據(jù)傳輸?shù)剿鲰?yè)緩沖區(qū)中,將需要被修改部分的邏輯塊地址區(qū)間的數(shù)據(jù)丟棄。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)管理方法,其特征在于,所述同步機(jī)制具體為所述微控制器為所述頁(yè)緩沖區(qū)在內(nèi)存中設(shè)置對(duì)應(yīng)的同步描述符,所述同步描述符包括累加計(jì)數(shù)變量和目標(biāo)計(jì)數(shù)變量,所述累加計(jì)數(shù)變量的初始值為0,所述目標(biāo)計(jì)數(shù)變量的初始值為2 ;所述存儲(chǔ)器控制器執(zhí)行存儲(chǔ)器頁(yè)讀操作后將所述累加計(jì)數(shù)變量的值加1,且所述串行硬件驅(qū)動(dòng)器接口執(zhí)行宿主機(jī)寫操作后將所述累加計(jì)數(shù)變量的值加1 ;當(dāng)所述累加計(jì)數(shù)變量的值等于所述目標(biāo)計(jì)數(shù)變量的初始值后,所述存儲(chǔ)器控制器執(zhí)行所述存儲(chǔ)器頁(yè)寫操作。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)管理方法,其特征在于,所述串行硬件驅(qū)動(dòng)器接口為串行高級(jí)技術(shù)附件。
6.一種固態(tài)硬盤,其特征在于,所述固態(tài)硬盤包括微控制器,用于當(dāng)所述固態(tài)硬盤收到宿主機(jī)的邏輯塊地址寫命令時(shí);為所述邏輯塊地址寫命令分配頁(yè)緩沖區(qū),并基于所述頁(yè)緩沖區(qū)建立具有同步機(jī)制的宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求,其中存儲(chǔ)器頁(yè)讀請(qǐng)求包含可配置直接內(nèi)存存取所需的數(shù)據(jù)傳輸描述;串行硬件驅(qū)動(dòng)器接口,用于根據(jù)所述同步機(jī)制執(zhí)行宿主機(jī)寫操作;存儲(chǔ)器控制器,用于根據(jù)所述同步機(jī)制執(zhí)行存儲(chǔ)器頁(yè)讀操作和存儲(chǔ)器頁(yè)寫操作。
7.根據(jù)權(quán)利要求6所述的固態(tài)硬盤,其特征在于,所述同步機(jī)制具體為同步執(zhí)行所述宿主機(jī)寫操作請(qǐng)求和所述存儲(chǔ)器頁(yè)讀操作請(qǐng)求,當(dāng)存儲(chǔ)器頁(yè)讀操作請(qǐng)求和宿主機(jī)寫操作請(qǐng)求完成后執(zhí)行所述存儲(chǔ)器頁(yè)寫請(qǐng)求。
8.根據(jù)權(quán)利要求6所述的固態(tài)硬盤,其特征在于,所述可配置直接內(nèi)存存取的數(shù)據(jù)傳輸描述具體為將存儲(chǔ)器讀出頁(yè)中指定邏輯塊地址區(qū)間的數(shù)據(jù)傳輸?shù)剿鲰?yè)緩沖區(qū)中,將需要被修改部分的邏輯塊地址區(qū)間的數(shù)據(jù)丟棄。
9.根據(jù)權(quán)利要求6所述的固態(tài)硬盤,其特征在于,所述同步機(jī)制具體為所述微控制器為所述頁(yè)緩沖區(qū)在內(nèi)存中設(shè)置對(duì)應(yīng)的同步描述符,所述同步描述符包括累加計(jì)數(shù)變量和目標(biāo)計(jì)數(shù)變量,所述累加計(jì)數(shù)變量的初始值為0,所述目標(biāo)計(jì)數(shù)變量的初始值為2 ;所述存儲(chǔ)器控制器執(zhí)行存儲(chǔ)器頁(yè)讀操作后將所述累加計(jì)數(shù)變量的值加1,且所述串行硬件驅(qū)動(dòng)器接口執(zhí)行宿主機(jī)寫操作后也將所述累加計(jì)數(shù)變量的值加1 ;當(dāng)所述累加計(jì)數(shù)變量的值等于所述目標(biāo)計(jì)數(shù)變量的初始值后,所述存儲(chǔ)器控制器執(zhí)行所述存儲(chǔ)器頁(yè)寫操作。
10.根據(jù)權(quán)利要求6所述的固態(tài)硬盤,其特征在于,所述串行硬件驅(qū)動(dòng)器接口為串行高級(jí)技術(shù)附件。
全文摘要
本發(fā)明適用于固態(tài)硬盤及信息存儲(chǔ)領(lǐng)域,提供了一種固態(tài)硬盤及其讀-修改-寫操作的數(shù)據(jù)管理方法,所述數(shù)據(jù)管理方法包括固態(tài)硬盤收到宿主機(jī)的邏輯塊地址寫命令;固態(tài)硬盤的微控制器為邏輯塊地址寫命令分配頁(yè)緩沖區(qū),并基于頁(yè)緩沖區(qū)建立具有同步機(jī)制的宿主機(jī)寫操作請(qǐng)求、存儲(chǔ)器頁(yè)讀操作請(qǐng)求和存儲(chǔ)器頁(yè)寫操作請(qǐng)求,存儲(chǔ)器頁(yè)讀請(qǐng)求包含可配置直接內(nèi)存存取所需的數(shù)據(jù)傳輸描述;固態(tài)硬盤的串行硬件驅(qū)動(dòng)器接口以及存儲(chǔ)器控制器根據(jù)同步機(jī)制執(zhí)行宿主機(jī)寫操作、存儲(chǔ)器頁(yè)讀操作以及存儲(chǔ)器頁(yè)寫操作。本發(fā)明能在不額外增加緩沖區(qū)的前提下,降低微控制器的參與程度、節(jié)省內(nèi)存總線帶寬、提高讀-修改-寫操作的性能。
文檔編號(hào)G06F3/06GK102566939SQ20111042629
公開(kāi)日2012年7月11日 申請(qǐng)日期2011年12月19日 優(yōu)先權(quán)日2011年12月19日
發(fā)明者徐偉華 申請(qǐng)人:記憶科技(深圳)有限公司