專利名稱:一種固態(tài)硬盤寫操作糾錯的方法
技術(shù)領域:
本發(fā)明涉及一種微電子技術(shù)領域,具體地說是一種固態(tài)硬盤寫操作糾錯的方法。
背景技術(shù):
固態(tài)硬盤(英文Solid State Disk,簡寫SSD)因為其存儲介質(zhì)為NandFlash,所 以它便具有了與NandFlash相似優(yōu)勢輕便、存儲密度大、功耗低、抗震和溫度適應范圍寬。在SSD寫的過程中,為了提高寫性能,一般數(shù)據(jù)會在寫入NandFlash之前先放入數(shù) 據(jù)Buffer (緩存)。與Buffer的數(shù)據(jù)傳輸速度相比,由于NandFlash結(jié)構(gòu)的原因,NandFlash 自身的寫速度會慢得多,這個過程大概200us左右。由于這兩個速度的不同,所以在SSD寫 過程中,會出現(xiàn)NandFlash寫失敗,而數(shù)據(jù)Buffer的數(shù)據(jù)已經(jīng)被后來數(shù)據(jù)覆蓋而造成數(shù)據(jù) 丟失的問題。如何解決上述數(shù)據(jù)丟失問題,是固態(tài)硬盤寫操作迫切需要解決的。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務是提供在幾乎不增加復雜度的情況下,可以避免數(shù)據(jù)丟失的情 況出現(xiàn)的一種固態(tài)硬盤寫操作糾錯的方法。本發(fā)明的技術(shù)任務是按以下方式實現(xiàn)的,在固態(tài)硬盤寫操作過程中增加同步動態(tài) 隨機存儲器(英文Sdram),在固態(tài)硬盤(簡寫SSD)執(zhí)行寫操作的過程中,當數(shù)據(jù)由數(shù)據(jù)緩 沖器(簡寫B(tài)uffer)進入Nand閃存端口(英文Nand Flash hterface,簡稱NFI)對Nand Flash(簡寫Nand閃存)進行編程操作的同時,將數(shù)據(jù)緩沖器中的數(shù)據(jù)備份到同步動態(tài)隨 機存儲器中;若Nand Flash編程成功后,會返回一個標識(Flag),系統(tǒng)將數(shù)據(jù)緩沖器中的 下一個數(shù)據(jù)寫入Nand Flash并且同時將備份在同步動態(tài)隨機存儲器中的數(shù)據(jù)覆蓋掉;若 Nand Flash編程失敗,會返回一個中斷(INT),系統(tǒng)將同步動態(tài)隨機存儲器中的備份數(shù)據(jù)重 新調(diào)入數(shù)據(jù)緩沖器,并經(jīng)Nand閃存端口寫入Nand Flash,直到Nand Flash編程成功為止。固態(tài)硬盤寫操作流程分為以下幾個步驟(1)、固態(tài)硬盤的Nand閃存控制器(英文Nand Flash Controller,簡稱NFC)復 位;(2)、Nand閃存控制器會根據(jù)外部傳入的命令解析出數(shù)據(jù)的寫入塊地址、頁偏移 量、數(shù)據(jù)長度參數(shù)進行Nand閃存控制器配置;(3)、Nand閃存控制器將數(shù)據(jù)寫入空閑數(shù)據(jù)緩沖器(簡寫B(tài)uffer)中;(4)、此時如果Nand閃存控制器的通道及Nand Flash (Nand閃存)均是空閑的,則 Nand閃存控制器會將數(shù)據(jù)緩沖器中數(shù)據(jù)寫入Nand Flash所對應的地址當中;(5)、同時,這部分數(shù)據(jù)會備份到同步動態(tài)隨機存儲器(英文Sdram)中;(6)、寫入完畢后,Nand閃存控制器會讀取固態(tài)硬盤的狀態(tài)寄存器的狀態(tài),如果正 確,則操作完成,同時同步動態(tài)隨機存儲器數(shù)據(jù)釋放;(7)、如果固態(tài)硬盤的狀態(tài)寄存器狀態(tài)不正確,則送出中斷,同時將同步動態(tài)隨機存儲器中的數(shù)據(jù)搬出,重新送入數(shù)據(jù)緩沖器,重新執(zhí)行步驟(3)。 每個數(shù)據(jù)緩沖器大小與Nand Flash的頁大小相同。本發(fā)明的一種固態(tài)硬盤寫操作糾錯的方法具有以下優(yōu)點基本不會增加NFC(Nand Flash Controller, Nand閃存控制器)的復雜度并且不會影響SSD的寫入速度,但可以解 決由于Buffer (數(shù)據(jù)緩沖器)中數(shù)據(jù)傳輸速度快和對Nand Flash編程速度慢,使得Nand Flash編程失敗而Buffer中數(shù)據(jù)已經(jīng)被下一個數(shù)據(jù)沖掉造成的數(shù)據(jù)丟失的問題。因而,此 方法對于大容量多通道的SSD而言,既可以保持高速寫入,同時也可以保證寫入數(shù)據(jù)的正 確性。
下面結(jié)合附圖對本發(fā)明進一步說明。附圖1為一種固態(tài)硬盤寫操作糾錯的方法的流程圖。
具體實施例方式參照說明書附圖和具體實施例對本發(fā)明的一種固態(tài)硬盤寫操作糾錯的方法作以 下詳細地說明。實施例本發(fā)明的一種固態(tài)硬盤寫操作糾錯的方法,在固態(tài)硬盤寫操作過程中增加同步動 態(tài)隨機存儲器(英文Sdram),在固態(tài)硬盤(簡寫SSD)執(zhí)行寫操作的過程中,當數(shù)據(jù)由數(shù)據(jù) 緩沖器(簡寫B(tài)uffer)進入Nand閃存端口(英文Nand Flash Interface,簡稱NFI)對 Nand Flash(簡寫Nand閃存)進行編程操作的同時,將數(shù)據(jù)緩沖器中的數(shù)據(jù)備份到同步動 態(tài)隨機存儲器中;若Nand Flash編程成功后,會返回一個標識(Flag),系統(tǒng)將數(shù)據(jù)緩沖器 中的下一個數(shù)據(jù)寫入Nand Flash并且同時將備份在同步動態(tài)隨機存儲器中的數(shù)據(jù)覆蓋掉; 若Nand Flash編程失敗,會返回一個中斷(INT),系統(tǒng)將同步動態(tài)隨機存儲器中的備份數(shù) 據(jù)重新調(diào)入數(shù)據(jù)緩沖器,并經(jīng)Nand閃存端口寫入Nand Flash,直到Nand Flash編程成功為 止。如圖1所示,固態(tài)硬盤寫操作流程分為以下幾個步驟(1)、固態(tài)硬盤的Nand閃存控制器(英文Nand Flash Controller,簡稱NFC)復 位;(2)、Nand閃存控制器會根據(jù)外部傳入的命令解析出數(shù)據(jù)的寫入塊地址、頁偏移 量、數(shù)據(jù)長度參數(shù)進行Nand閃存控制器配置;(3)、Nand閃存控制器將數(shù)據(jù)寫入空閑數(shù)據(jù)緩沖器(簡寫B(tài)uffer)中;(4)、此時如果Nand閃存控制器的通道及Nand Flash (Nand閃存)均是空閑的,則 Nand閃存控制器會將數(shù)據(jù)緩沖器中數(shù)據(jù)寫入Nand Flash所對應的地址當中;(5)、同時,這部分數(shù)據(jù)會備份到同步動態(tài)隨機存儲器(英文Sdram)中;(6)、寫入完畢后,Nand閃存控制器會讀取固態(tài)硬盤的狀態(tài)寄存器的狀態(tài),如果正 確,則操作完成,同時同步動態(tài)隨機存儲器數(shù)據(jù)釋放;(7)、如果固態(tài)硬盤的狀態(tài)寄存器狀態(tài)不正確,則送出中斷,同時將同步動態(tài)隨機 存儲器中的數(shù)據(jù)搬出,重新送入數(shù)據(jù)緩沖器,重新執(zhí)行步驟(3)。
每個數(shù)據(jù)緩沖器大小與Nand Flash的頁大小相同。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的 已知技術(shù)。
權(quán)利要求
1.一種固態(tài)硬盤寫操作糾錯的方法,其特征在于在固態(tài)硬盤寫操作過程中增加同步動 態(tài)隨機存儲器,在固態(tài)硬盤執(zhí)行寫操作的過程中,當數(shù)據(jù)由數(shù)據(jù)緩沖器進入Nand閃存端口 對Nand Flash進行編程操作的同時,將數(shù)據(jù)緩沖器中的數(shù)據(jù)備份到同步動態(tài)隨機存儲器 中;若Nand Flash編程成功后,會返回一個標識,系統(tǒng)將數(shù)據(jù)緩沖器中的下一個數(shù)據(jù)寫入 Nand Flash并且同時將備份在同步動態(tài)隨機存儲器中的數(shù)據(jù)覆蓋掉;若Nand Flash編程 失敗,會返回一個中斷,系統(tǒng)將同步動態(tài)隨機存儲器中的備份數(shù)據(jù)重新調(diào)入數(shù)據(jù)緩沖器,并 經(jīng)Nand閃存端口寫入Nand Flash,直到Nand Flash編程成功為止。
2.根據(jù)權(quán)利要求1所述的一種固態(tài)硬盤寫操作糾錯的方法,其特征在于固態(tài)硬盤寫操 作流程分為以下幾個步驟(1)、固態(tài)硬盤的Nand閃存控制器復位;(2)、Nand閃存控制器會根據(jù)外部傳入的命令解析出數(shù)據(jù)的寫入塊地址、頁偏移量、數(shù) 據(jù)長度參數(shù)進行Nand閃存控制器配置;(3),Nand閃存控制器將數(shù)據(jù)寫入空閑數(shù)據(jù)緩沖器中;(4)、此時如果Nand閃存控制器的通道及NandFlash均是空閑的,則Nand閃存控制器 會將數(shù)據(jù)緩沖器中數(shù)據(jù)寫入Nand Flash所對應的地址當中;(5)、同時,這部分數(shù)據(jù)會備份到同步動態(tài)隨機存儲器中;(6)、寫入完畢后,Nand閃存控制器會讀取固態(tài)硬盤的狀態(tài)寄存器的狀態(tài),如果正確,則 操作完成,同時同步動態(tài)隨機存儲器數(shù)據(jù)釋放;(7)、如果固態(tài)硬盤的狀態(tài)寄存器狀態(tài)不正確,則送出中斷,同時將同步動態(tài)隨機存儲 器中的數(shù)據(jù)搬出,重新送入數(shù)據(jù)緩沖器,重新執(zhí)行步驟(3)。
3.根據(jù)權(quán)利要求1所述的一種固態(tài)硬盤寫操作糾錯的方法,其特征在于每個數(shù)據(jù)緩沖 器大小與Nand Flash的頁大小相同。
全文摘要
本發(fā)明公開了一種固態(tài)硬盤寫操作糾錯的方法,屬于微電子技術(shù)領域,在固態(tài)硬盤執(zhí)行寫操作的過程中,當數(shù)據(jù)由數(shù)據(jù)緩沖器進入Nand閃存端口對Nand Flash進行編程操作的同時,將數(shù)據(jù)緩沖器中的數(shù)據(jù)備份到同步動態(tài)隨機存儲器中;若Nand Flash編程成功后,會返回一個標識,系統(tǒng)將數(shù)據(jù)緩沖器中的下一個數(shù)據(jù)寫入Nand Flash并且同時將備份在同步動態(tài)隨機存儲器中的數(shù)據(jù)覆蓋掉;若Nand Flash編程失敗,會返回一個中斷,系統(tǒng)將同步動態(tài)隨機存儲器中的備份數(shù)據(jù)重新調(diào)入數(shù)據(jù)緩沖器,并經(jīng)Nand閃存端口寫入Nand Flash,直到Nand Flash編程成功為止。本發(fā)明在幾乎不增加復雜度的情況下,可以避免數(shù)據(jù)丟失的情況出現(xiàn)。
文檔編號G06F11/14GK102073561SQ20111002846
公開日2011年5月25日 申請日期2011年1月26日 優(yōu)先權(quán)日2011年1月26日
發(fā)明者于治樓, 姜凱, 李峰, 梁智豪 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司