數據儲存系統及其特定指令執(zhí)行方法
【技術領域】
[0001]本發(fā)明有關于一種數據儲存系統及其特定指令執(zhí)行方法,可應用于非揮發(fā)性內存、固態(tài)硬盤、隨身碟或磁盤陣列等數據儲存裝置。
【背景技術】
[0002]按,非揮發(fā)性內存(non-volatile memory)由于具備有無機械結構、體積小、低噪音、抗震動、省電及讀寫速度快等特性,因此被普遍使用于各種數據儲存裝置,例如固態(tài)硬盤(Solid State Disk ;SSD)、隨身碟(Flash Drive)或磁盤陣列(Redundant Array ofIndependent Drives ;RAID)。
[0003]非揮發(fā)性內存的產品特性使然,于一實體區(qū)塊(Physical Block)中包括有復數個實體頁面(Physical Page),在一主機系統(例如計算機主機)通知欲將一數據寫入(write)內存時,是以實體頁面或更小的扇區(qū)(sector)為單位依序寫入。而已儲存有數據的實體頁面則必須先經過一抹除(Erase)程序后,才可以再度被寫入其他數據,而抹除程序的最小單位為一實體區(qū)塊。又,非揮發(fā)性內存對于數據的寫入或抹除都有其使用數量限制,如果寫入或抹除的次數超過一上限值,則此內存不僅會降低其運行速度,甚至會造成整個內存毀損。
[0004]請參閱圖1,具有實體儲存內存15的數據儲存系統10中包括有一內存管理器19,可用以將主機系統20所能溝通或存取的邏輯扇區(qū)地址(Logical Sector Address ;LSA) 11轉換為邏輯區(qū)塊及邏輯頁面,并且將邏輯區(qū)塊及邏輯頁面對應指向至實體儲存內存15的實體區(qū)塊及實體頁面,實體頁面具有一實體儲存地址(Physical Address) 13。而邏輯扇區(qū)地址11與實體儲存地址13的映像關系將被記載于一邏輯-實體地址對應表17。
[0005]當主機系統20需要將已儲存數據從一(第一個)邏輯扇區(qū)地址L_1搬移至另一(第二個)邏輯扇區(qū)地址L_4時,主機系統20必須傳送一正常指令291,例如一搬移(move)指令,至內存管理器19,而主機系統20及/或內存管理器19則會進行:(a).將第一個邏輯扇區(qū)地址1^_1所對應指向的已儲存數據D_A(存放于實體儲存內存(BI,PO))讀取(read)復制至一內存緩沖區(qū)25 ; (b).將內存緩沖區(qū)25內暫存的已儲存數據D_A寫入(write)第二個邏輯扇區(qū)地址L_4所指向的另一實體儲存內存(B0,P2)中;及(c).將邏輯扇區(qū)地址L_1的已儲存數據(D_A)予以刪除(delete)或設為無效(Invalid)。
[0006]同樣的數據搬移指令,于具有同位檢查(parity)功能的磁盤陣列系統,例如RAID4、RAID5或RAID6,其程序則相對復雜。主機系統20欲將一已儲存數據從一邏輯扇區(qū)地址L_A中搬移(move)至另一個邏輯扇區(qū)地址L_B時,主機系統20及/或內存管理器19會控制并進行:(a).將邏輯扇區(qū)地址L_A所指向的已儲存數據D_A (儲存于實體儲存地址)讀取至內存緩沖區(qū)25 ; (b).將邏輯扇區(qū)地址L_A相對應的磁盤陣列數據條(Data Stripe)S_A的同位檢查區(qū)塊數據P_A讀取至內存緩沖區(qū)25 ;(c).將邏輯扇區(qū)地址L_B所指向的已儲存數據D_B (儲存于實體儲存地址)讀取至內存緩沖區(qū)25 ; (d).將邏輯扇區(qū)地址L_B相對應的磁盤陣列數據條S_B的同位檢查區(qū)塊數據P_B讀取至內存緩沖區(qū)25 ; (e).通過儲存數據D_A、同位檢查區(qū)塊數據P_A及一空白數據,計算出(例如XOR運算)邏輯扇區(qū)地址L_A的新同位檢查區(qū)塊數據P_A2 ; (f).通過儲存數據D_B、同位檢查區(qū)塊數據P_B及儲存數據D_A,計算出(例如XOR運算)邏輯扇區(qū)地址L_B的新同位檢查區(qū)塊數據P_B2 ; (g).將暫存于內存緩沖區(qū)25的已儲存數據D_A寫入邏輯扇區(qū)地址L_B中;(h).將暫存于內存緩沖區(qū)25的新同位檢查數據P_B2寫入磁盤陣列數據條S_B的同位檢查區(qū)塊中;(i).將邏輯扇區(qū)地址L_A內的儲存數據D_A予以刪除或設為無效;及(j).將暫存于內存緩沖區(qū)25的新同位檢查數據P_A2寫入磁盤陣列數據條S_A的同位檢查區(qū)塊中。
[0007]常用數據儲存系統10雖然可以執(zhí)行讀取、寫入、刪除及/或搬移等指令,但每一個指令動作皆必須個別下達,如果數據搬移動作中,用戶想要檢視所搬移的儲存數據內容,就必須個別下達讀取及搬移兩個指令動作。又,常用搬移指令后,其數據儲存系統10必須進行多次的讀取或寫入動作,對數據儲存系統10的使用壽命或使用效率而言都存在有可改善的空間。
【發(fā)明內容】
[0008]本發(fā)明即提供一種數據儲存系統及其特定指令執(zhí)行方法,其特定指令可同時執(zhí)行數據讀取及搬移動作,以此不僅有效減少實體儲存內存的寫入次數(Write Reduct1n)、降低輸出入延遲(10 Latency),也可延長數據儲存系統的使用壽命及使用效律。
[0009]本發(fā)明即提供一種數據儲存系統及其特定指令執(zhí)行方法,其特定指令適用于具有同位檢查功能磁盤陣列中,以此不僅可有效降低指令的下達次數及數據寫入次數,又可提升磁盤陣列更新數據同位檢查的效率。
[0010]為達成上述目的,本發(fā)明采用以下技術方案:
[0011]一種數據儲存系統,包括:一個或多個實體儲存內存,每一個實體儲存內存可區(qū)分成多個實體儲存單元,而每一實體儲存單元具有一實體儲存地址,部分實體儲存單元內儲存有一已儲存數據;多個邏輯扇區(qū)地址,部分邏輯扇區(qū)地址通過一邏輯-實體地址對照表指向相對應的其中一實體儲存地址;及一內存管理器,電性連接一主機系統、該實體儲存內存及該邏輯扇區(qū)地址,可接收來自于主機系統的一正常指令、一特定指令、或一正常指令及一特定指令,該特定指令包括有其中一第一個邏輯扇區(qū)地址、一欲讀取數據長度及一第二扇區(qū)邏輯地址;其中,該內存管理器可根據該特定指令而將對應于該第一個邏輯扇區(qū)地址及該欲讀取數據長度所指向的一第一個實體儲存地址內的該已儲存數據讀取復制于一內存緩沖區(qū),并將原指向于該第一個邏輯扇區(qū)地址的該實體儲存地址搬移指向至該第二個邏輯扇區(qū)地址。
[0012]又,為達上述目的,本發(fā)明提供一種特定指令執(zhí)行方法,適用于一數據儲存系統,該數據儲存系統包括有至少一實體儲存內存、多個邏輯扇區(qū)地址及一內存管理器,該實體儲存內存分成有多個實體儲存單元,而每一個實體儲存單元具有一實體儲存地址,部分實體儲存單元內則儲存有一已儲存數據,部分邏輯扇區(qū)地址可通過一邏輯-實體地址對照表而指向相對應的一實體儲存地址,而該內存管理器可分別電性連接該實體儲存內存及該邏輯扇區(qū)地址區(qū),該特定指令執(zhí)行方法包括:內存管理器接收一指令,判斷該指令是一正常指令或一特定指令;若為該特定指令,則解讀該特定指令內的一第一個邏輯扇區(qū)地址、一欲讀取數據長度及一第二個邏輯扇區(qū)地址,將該第一個邏輯扇區(qū)地址所指向該實體儲存地址內的已儲存數據讀取復制于一內存緩沖區(qū);及將原指向于該第一個邏輯扇區(qū)地址的實體儲存地址搬移指向至該第二個邏輯扇區(qū)地址。
[0013]又,為達上述目的,本發(fā)明提供一種特定指令執(zhí)行方法,適用于一磁盤陣列系統,該磁盤陣列系統為一日志模式或一寫時復制模式,該磁盤陣列系統包括有至少一實體儲存內存、多個邏