資料儲存系統(tǒng)及其運作方法
【技術領域】
[0001]本發(fā)明是有關于一種資料儲存系統(tǒng)及其運作方法,且特別是有關于一種具有分段處理資料寫入指令的資料儲存系統(tǒng)及其運作方法。
【背景技術】
[0002]在目前,市面上的大量儲存裝置主要可分為以磁頭和磁盤組成的傳統(tǒng)硬盤(HardDriver disk,HDD)以及以非揮發(fā)性存儲器(non-volatile memory)組成的固態(tài)硬盤(SolidState Disk, SSD)。一般而言,當接收到主機發(fā)出的資料寫入指令時,儲存裝置需確認資料已完全寫入主要儲存單元(磁盤或非揮發(fā)性存儲器)后,才能回復寫入完成指令給主機。而主機于接收到寫入完成指令后,才會發(fā)出下一個指令給儲存裝置。然而,將資料完全寫入主要儲存單元(磁盤或非揮發(fā)性存儲器)需要花費較長的時間,如此將影響計算機系統(tǒng)的整體效能,因此如何同時提高資料的訪問速度及安全性仍是設計儲存裝置的一個重點。
【發(fā)明內容】
[0003]本發(fā)明提供一種資料儲存系統(tǒng)及其運作方法,其通過資料存取單元來分段處理資料與入指令,以增進資料儲存系統(tǒng)的資料讀與效率,并可大幅減少資料儲存系統(tǒng)的資料遺失量,以提高資料儲存系統(tǒng)的資料儲存可靠性。
[0004]本發(fā)明的資料儲存系統(tǒng)包括一資料儲存單元、一快取單元及一資料存取單元。資料存取單元耦接資料儲存單元及快取單元。當資料存取單元接收到來自一主機的一資料寫入指令時,資料存取單元用以于資料寫入指令中的一寫入資料儲存于快取單元后回復主機一寫入完成指令,將資料寫入指令排入一資料寫入排程表,以及依據(jù)資料寫入排程表將寫入資料由快取單元讀出并寫入至資料儲存單元。
[0005]在本發(fā)明的一實施例中,資料存取單元具有一快取資料對應表及一資料寫入排程表,其中快取資料對應表用以記錄快取單元中所儲存的寫入資料的一對應地址信息,資料寫入排程表用以對資料寫入指令進行寫入排程。
[0006]在本發(fā)明的一實施例中,資料存取單元依據(jù)寫入資料對應的一邏輯地址以及寫入資料儲存于快取單元的一實體地址更新快取資料對應表。
[0007]在本發(fā)明的一實施例中,資料存取單元依據(jù)寫入資料對應的邏輯地址查詢快取資料對應表,以取得寫入資料儲存于快取單元的實體地址。
[0008]在本發(fā)明的一實施例中,當資料存取單元接收到來自主機的接收到一資料讀取指令時,資料存取單元通過快取資料對應表確認資料讀取指令所要讀取的一讀取資料是否儲存于快取單元。當讀取資料儲存于快取單元時,則資料存取單元自快取單元讀出讀取資料。當讀取資料未儲存于快取單元時,則資料存取單元自資料儲存單元讀出讀取資料。
[0009]在本發(fā)明的一實施例中,當資料存取單元回復寫入完成指令時,對應于寫入完成指令的資料寫入指令中的寫入資料尚未寫入于資料儲存單元。
[0010]本發(fā)明的資料儲存系統(tǒng)的運作方法,包括下列步驟。接收來自一主機的一資料寫入指令。于資料寫入指令的一寫入資料儲存于一快取單元后,回復一寫入完成指令至主機。將資料寫入指令排入一資料寫入排程表。依據(jù)資料寫入排程表將寫入資料由快取單元讀出并寫入至一資料儲存單元。
[0011]在本發(fā)明的一實施例中,資料儲存系統(tǒng)的運作方法還包括:于該資料寫入指令的一寫入資料儲存于一快取單元后,記錄該寫入資料的一邏輯地址及該寫入資料儲存于該快取單元的一實體地址于一快取資料表。
[0012]在本發(fā)明的一實施例中,資料儲存系統(tǒng)的運作方法還包括:依據(jù)寫入資料對應的一邏輯地址查詢快取資料對應表,以取得寫入資料儲存于快取單元的一實體地址。
[0013]在本發(fā)明的一實施例中,資料儲存系統(tǒng)的運作方法還包括:接收來自一主機的一資料讀取指令;通過快取資料表格確認資料讀取指令所要讀取的一讀取資料是否儲存于快取單元;當讀取資料儲存于快取單元時,則資料存取單元自快取單元讀出讀取資料;以及,當讀取資料未儲存于快取單元時,則資料存取單元自資料儲存單元讀出讀取資料。
[0014]基于上述,本發(fā)明實施例的資料儲存系統(tǒng)及其運作方法,其資料存取單元在寫入資料儲存于快取單元后即回復寫入完成指令至主機,由此可有效地提升主機的處理速度,并進而增進資料儲存系統(tǒng)的資料讀寫效率。再者,資料儲存系統(tǒng)于背景處理時逐步將寫入資料由快取單元寫入至資料儲存單元,如此可大幅減少資料儲存系統(tǒng)的資料遺失量,并提高資料儲存系統(tǒng)的資料儲存可靠性。
【附圖說明】
[0015]為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附附圖作詳細說明如下,其中:
[0016]圖1為依據(jù)本發(fā)明一實施例的資料儲存系統(tǒng)的系統(tǒng)示意圖。
[0017]圖2為依據(jù)本發(fā)明一實施例的資料儲存系統(tǒng)的運作方法的流程圖。
【具體實施方式】
[0018]圖1為依據(jù)本發(fā)明一實施例的資料儲存系統(tǒng)的系統(tǒng)示意圖。請參照圖1,在本實施例中,資料儲存系統(tǒng)100包括資料儲存單元110、快取單元120及資料存取單元130,其中資料儲存單元110為資料儲存系統(tǒng)100的主要儲存單元,用以儲存用戶資料,且當資料儲存系統(tǒng)100斷電時,資料儲存單元110內的儲存資料不會消失。資料儲存單元110例如包括硬盤及/或固態(tài)硬盤,但本發(fā)明實施例并不以此為限,資料儲存單元110亦可為采用其他資料儲存技術的儲存裝置。快取單元120用以暫時儲存用戶資料,其中快取單元120的資料訪問速度高于資料儲存單元110,且當資料儲存系統(tǒng)100斷電時,快取單元120內的儲存資料將會消失。
[0019]在本實施例中,資料存取單元130耦接資料儲存單元110及快取單元120,并且資料存取單元130內包含快取資料對應表132及資料寫入排程表134,其中快取資料對應表132用以記錄快取單元120中所儲存的寫入資料的對應地址信息,資料寫入排程表134用以對接收到的資料寫入指令進行排程。資料存取單元130用以依據(jù)接收到的資料讀取指令或資料寫入指令進行對應的系統(tǒng)運作。上述的系統(tǒng)運作包含但不限于回復接收到的資料寫入指令、建立/更新快取資料對應表、建立/更新資料寫入排程表、以及確保寫入資料正確性等。以下將分別針對資料儲存系統(tǒng)100接收到資料讀取指令及資料寫入指令時的運作方法作進一步的說明。
[0020]請參照圖1,當資料儲存系統(tǒng)100接收到由主機200發(fā)出的資料寫入指令CWR時,資料儲存系統(tǒng)100會將資料寫入指令CWR中的寫入資料DW儲存于快取單元120中。同時,當資料存取單元130接收到資料寫入指令CWR時,資料存取單元130會直接回復寫入完成指令WRD給主機200,并且將當次的資料寫入指令CWR更新至資料寫入排程表134內。當主機200接收到寫入完成指令WRD時,主機200便可再發(fā)出下一個指令給資料儲存系統(tǒng)100。若主機200發(fā)出的下一個指令仍為資料寫入指令CWR時,資料儲存系統(tǒng)100會依據(jù)上述的運作流程將寫入資料DW先儲存于快取單元120中,同時資料存取單元130會直接回復寫入完成指令WRD給主機200,并且將當次的資料寫入指令CWR更新至資料寫入排程表134內。[0021 ] 通過上述運作流程,主機200無須實際等待資料儲存系統(tǒng)100將寫入資料DW儲存至資料儲存單元110的寫入時間,因此可有效地提升主機200的處理速度,并進而增進資料儲存系統(tǒng)100的資料讀寫效率。
[0022]再者,在主機200發(fā)出的資料寫入指令CWR中,除了包含寫入資料DW之外,其還包含寫入資料DW對應的邏輯地址。在本實施例中,當資料儲存系統(tǒng)100將資料寫入指令CWR中的寫入資料DW儲存于快取單元120后,資料存取單元130會依據(jù)寫入資料DW對應的邏輯地址以及寫入資料DW儲存于快取單元120的實體地址來建立/更新快取資料對應表132。換句話說,快取資料對應表132用以記錄各個資料寫入指令CWR中的寫入資料DW對應的邏輯地址以及寫入資料DW儲存于快取單元120的實體地址。
[0023]依據(jù)上述,當資料存取單元130接收到資料寫入指令CWR,并直接回復寫入完成指令WRD給主機200后,資料存取單元130會將接收到的資料寫入指令CWR依序排入資料寫入排程表134內,并依據(jù)資料寫入排程表134依序將資料寫入指令CWR對應的寫入資料DW由快取單元120讀出并寫入資料儲存單元110中。在本發(fā)明的一實施例中,各個資料寫入指令CWR所對應的寫入資料DW可利用對應的邏輯地址來查詢快取資料對應表132,以找出對應的寫入資料DW儲存于快取單元120的實體地址。接著,資料存取單元130可通過找出的實體地址來從快取單元120中讀出對應的寫入資料DW并將其寫入資料儲存單元110中。
[0024]在本發(fā)明實施例中,資料儲存系統(tǒng)100通過資料存取單元130將對應于資料寫入指令CWR所進行的資料寫入處理分為前景處理及背景處理。在前景處理中,于接收到資料寫入指令CWR后,資料儲存系統(tǒng)100先將寫入資料DW儲存在快取單元120中,并在將寫入資料DW寫入資料儲存單元110之前,直接回復主機200寫入完成指令WRD,以維持資料儲存系統(tǒng)100與主機200之間的處理速度及資料讀寫效率。同時,在前景處理中,資料存取單元130會依據(jù)接收到的資料寫入指令CWR的接收順序建立資料寫入排程表134,并于快取資料對應表132紀錄對應的相關地址信息,以便于進行后續(xù)的背景處理。
[0025]依據(jù)上述,雖然在前景處理時,資料儲存系統(tǒng)100已經直接回復主機200寫入完成指令WRD,然而寫入資料DW實際上尚未被寫入資料儲存單元110中。在本發(fā)明實施例中,寫入資料DW是于背景處理時被寫入資料儲存單元110中。在背景處理中,資料儲存系統(tǒng)100會依據(jù)資料寫入排程表134逐步處理之前接收到的資料寫入指令CWR,并通過快取資料對應表132由快取單元120中讀出對應的寫入資料DW,并將寫入資料DW寫入資料儲存單元110中。由于資料儲存系統(tǒng)100持續(xù)將寫入資料DW由快取單元120寫入至資料儲存單元110,所以當斷電發(fā)生時,雖然快取單元120內的寫入資料DW會消失,但由于快取單元120