TWI659306B - 卷搬移中執行資料讀寫的方法及電子裝置 - Google Patents
卷搬移中執行資料讀寫的方法及電子裝置 Download PDFInfo
- Publication number
- TWI659306B TWI659306B TW107100994A TW107100994A TWI659306B TW I659306 B TWI659306 B TW I659306B TW 107100994 A TW107100994 A TW 107100994A TW 107100994 A TW107100994 A TW 107100994A TW I659306 B TWI659306 B TW I659306B
- Authority
- TW
- Taiwan
- Prior art keywords
- volume
- reading
- writing
- data
- read
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明提出一種卷搬移中執行資料讀寫的方法及電子裝置。所述方法包含:阻擋對一第一卷之一讀寫動作;將讀寫動作的執行對象切換至全新的一第二卷;釋放讀寫動作,以使讀寫動作對於第二卷執行;及將第一卷之資料搬移至第二卷中,於搬移過程中,若第二卷已存在資料,則不將第一卷中對應位址的內容搬移至第二卷。
Description
本發明是有關於一種資料讀寫方法,特別是一種卷搬移中執行資料讀寫的方法及電子裝置。
一般而言,儲存系統在完成磁碟規劃之後,可運用空間就已經固定。後來,精簡配置(thin provisioning)技術的發展,使得儲存空間的運用更有彈性。然而,當儲存空間不足時,仍需要透過縱向擴展(scale up)技術來增加儲存空間。惟,使用縱向擴展技術時,需要暫時停止儲存系統(停機),以擴增硬體設備。而,另一種改良的縱向擴展技術即使不須停止儲存系統的硬體設備,而透過動態增加的方式來升級儲存系統,但仍需要升級時間。在此升級期間內,使用者仍無法寫入資料。
有鑑於此,本發明提出一種卷搬移中執行資料讀寫的方法與電子裝置,能在卷的資料搬移過程中,讓使用者仍可執行讀寫動作,不影響使用者操作,可應用於擴增儲存空間或備份資料等需求。
卷搬移中執行資料讀寫的方法包含:阻擋對一第一卷之一讀寫動作;將讀寫動作的執行對象切換至全新的一第二卷;釋放讀寫動作,以使讀寫動作對於第二卷執行;及將第一卷之資料搬移至第二卷中,於搬移過程中,若第二卷已存在資料,則不將第一卷中對應位址的內容搬移至第二卷。
卷搬移中執行資料讀寫的電子裝置包含:儲存模組及控制模組。儲存模組包含複數卷,該些卷包含一第一卷及一第二卷。控制模組電連接儲存模組,控制模組包含鎖定單元、調整單元及執行單元。鎖定單元阻擋對第一卷之一讀寫動作。調整單元將讀寫動作的執行對象切換至全新的第二卷。執行單元執行讀寫動作。其中,於讀寫動作的執行對象切換至第二卷後,鎖定單元釋放讀寫動作,以使執行單元對於第二卷執行讀寫動作,並將第一卷之資料搬移至第二卷中。於搬移過程中,若第二卷已存在資料,則不將第一卷中對應位址的內容搬移至第二卷。
在一實施例中,讀寫動作為讀取時,執行單元讀取第二卷的一讀取位址。
在一實施例中,若於第二卷的讀取位址讀取不到資料,則執行單元至第一卷對應讀取位址的位址讀取。
在一實施例中,讀寫動作為寫入時,執行單元將資料寫入於第二卷中對應於第一卷的一寫入位址的位址。
在一實施例中,第一卷可為一原始卷的一克隆卷。
合併參照圖1為本發明一實施例之卷搬移中執行資料讀寫的電子裝置100的方塊示意圖。電子裝置100包含儲存模組120及控制模組140。儲存模組120電連接控制模組140。控制模組140包含鎖定單元141、調整單元142及執行單元143。
在一實施例中,電子裝置100可如個人電腦、筆記型電腦、伺服器等計算裝置。儲存模組120可如磁碟、固態硬碟、磁碟陣列、全快閃記憶體儲存陣列(All-Flash Array)等儲存裝置。控制模組140為處理器,係可執行實現卷搬移中執行資料讀寫方法的程式碼。鎖定單元141、調整單元142及執行單元143則為處理器分別執行不同程式區段以實現不同功能。
參照圖2,係為本發明一實施例之資料搬移示意圖(一)。儲存模組120包含複數卷,係為邏輯儲存空間。所述卷以第一卷V1與第二卷V2為例說明。在此,第一卷V1為來源卷,第二卷V2為目標卷,亦即所述資料搬移,係指將第一卷V1的資料搬移至第二卷V2中。第二卷V2為一全新的卷,亦即第二卷V2是新建立的卷,而未記錄任何資料,即每個位址所儲存的均為空資料。在此,第一卷V1與第二卷V2是位於不同儲存裝置121中。然而,在一些實施例中,第一卷V1與第二卷V2可位於相同儲存裝置121中。
圖3為本發明一實施例之卷搬移中執行資料讀寫的電子裝置100的方法流程圖。參照圖3,在搬移資料之前,鎖定單元141係先阻擋電子裝置100之使用者對於第一卷V1的讀寫動作(步驟S301)。具體來說,鎖定單元141偵測到對應讀寫動作的指令時,會將此指令先放到佇列(圖未示)中,使得該讀寫動作不會立刻被執行。於此,讀寫動作可為讀取動作或寫入動作。
接著,調整單元142將讀寫動作的執行對象切換至第二卷V2(步驟S302),如圖4所示。在此,執行對象的切換並非僅限於此讀寫動作,還包含其後使用者欲對第一卷V1的讀寫動作。
在執行對象切換至第二卷V2之後,執行步驟S303,鎖定單元141釋放讀寫動作,以使往後的讀寫動作是對第二卷V2執行。
最後,在步驟S304中,執行單元143將第一卷V1之資料搬移至第二卷V2中。以圖2所示之例說明,第一卷V1存有資料A、B、C、D,係存放於物理區塊PB1中,物理區塊PB1為物理儲存空間。在此,物理區塊PB1中存放的對應資料順序不必然與第一卷V1中的資料存放順序相對應,例如:在此,物理區塊PB1中的存放資料依序為資料B、A、D、C,與第一卷V1中的資料A、B、C、D的存放順序不同。一般而言,儲存模組120還儲存一對照表(圖未示),係記錄邏輯儲存空間與物理儲存空間之間的資料對應關係。藉此,執行單元143可對邏輯儲存空間與物理儲存空間中的資料進行搬移、讀取或將資料寫入。
參照圖5,係為本發明一實施例之資料搬移示意圖(三)。若在步驟S301的阻擋期間,使用者執行寫入動作,則當步驟S303釋放讀寫動作之後,執行單元143會將佇列中的對應一個或多個讀寫動作的指令取出,並對第二卷V2執行。也就是說,將資料寫入於第二卷V2中對應於第一卷V1的一寫入位址的位址。例如,在原資料C的位址寫入資料Z。
在一些實施例中,也可以是在資料搬移過程中,執行單元143根據新接收的指令,執行寫入其他資料的動作,而將資料寫入切換後讀寫動作的執行對象(於此為第二卷V2)。在一實施例中,若欲寫入的位址為空,則代表對應於第一卷V1的位址同樣為空或於第一卷V1對應位址的資料尚未搬移過來,因此可直接寫入待寫入的資料;若欲寫入的位址已存在資料,則代表已進行搬移,而將待寫入的資料覆寫在該位址。
參照圖6,係為本發明一實施例之資料搬移示意圖(四)。於搬移過程中,若第二卷V2已存在資料,則不將第一卷V1中對應於該已存在資料的位址的內容搬移至第二卷V2。例如,在第二卷V2原本應寫入資料C的位址已經存在新資料Z,因此,不將第一卷V1中的資料C搬移至第二卷V2。反之,若第二卷V2中沒有存在資料的位址,則將對應於第一卷V1中的位址的資料搬移至第二卷V2(於此例中,係為資料A、B、D)。透過上述步驟S301至S304,可於資料搬移過程中,允許使用者進行讀寫動作,讓使用者不會因為資料搬移而中斷其操作行為。
在一實施例中,於步驟S304之後,第二卷V2中已存有所有於第一卷V1應搬移的資料,因此,執行單元143可將第一卷V1刪除。
在一實施例中,若前述讀寫動作為讀取動作,執行單元143依據所接收的指令讀取第二卷V2的讀取位址。若於第二卷V2的讀取位址讀取不到資料,代表於第一卷V1對應位址的資料尚未搬移過來或是對應於第一卷V1的位址同樣為空,因此執行單元143至第一卷V1對應此讀取位址的位址讀取。須注意的是,在此執行單元143雖至第一卷V1讀取資料,然而並未切換讀寫動作的執行對象,後續的讀寫動作仍然是對第二卷執行。在另一種情形,執行單元143依據所接收的指令讀取第二卷V2的讀取位址而讀取到資料時,此資料可能是從第一卷V1搬移過來的資料,或是新寫入的資料,無論如何該資料都是最新的資料,因此可讀取到正確的資料。
在一實施例中,所述卷亦可包含原始卷與該原始卷的克隆卷。如圖7所示,係為本發明一實施例之資料搬移示意圖(五)。前述之第一卷V1(於此稱「第一原始卷V1」)的克隆卷為第一克隆卷V1’,第一原始卷V1與第一克隆卷V1’共用同一物理區塊PB1,亦即第一原始卷V1與第一克隆卷V1’的資料相同,但僅佔據物理區塊PB1中一份資料的空間。圖7欲說明的是,搬移資料過程中(已完成資料A的搬移作業),若有新的寫入指令,則根據寫入指令,將資料寫入欲寫入的卷。在此,以寫入第二原始卷V2為例,執行單元143將資料E寫入第二原始卷V2,對應於物理區塊PB2則儲存該資料E。而未寫入資料的第二克隆卷V2’的對應位址,則接收資料的搬移,儲存於第一克隆卷V1’中對應位址的資料B,該資料B亦對應儲存於物理區塊PB2中。可以看到,由於第二原始卷V2的第二個位址被寫入新資料E,而第二克隆卷V2’的第二個位址沒有新資料寫入,而是儲存由第一克隆卷V1’的第二個位址搬移過來的資料B。因此,第二原始卷V2與第二克隆卷V2’的第二個位址沒有共用同一個物理位址,而分別在物理區塊PB2中佔有一個位址來存放資料。
續參照圖8,係為本發明一實施例之資料搬移示意圖(六)。於此示例另一種情形,即在搬移過程中寫入新資料至第二克隆卷V2’的情形。執行單元143將資料F寫入第二克隆卷V2’,對應於物理區塊PB2則儲存該資料F。而未寫入資料的第二原始卷V2的對應位址,則接收資料的搬移,儲存於第一原始卷V1中對應位址的資料C,該資料C亦對應儲存於物理區塊PB2中。
根據本發明實施例之卷搬移中執行資料讀寫的方法及電子裝置,可在不影響使用者操作的情形下,同時進行資料搬移。附帶一提,雖然在步驟S301至步驟S302之間,會暫時阻擋使用者的讀寫動作,然而其所費時間僅為幾毫秒,不會影響使用者操作。
100‧‧‧電子裝置
120‧‧‧儲存模組
121‧‧‧儲存裝置
140‧‧‧控制模組
141‧‧‧鎖定單元
142‧‧‧調整單元
143‧‧‧執行單元
S301、S302、S303、S304‧‧‧步驟
PB1、PB2‧‧‧物理區塊
V1‧‧‧第一卷、第一原始卷
V1’‧‧‧第一克隆卷
V2‧‧‧第二卷、第二原始卷
V2’‧‧‧第二克隆卷
A、B、C、D、E、F、Z‧‧‧資料
[圖1]為本發明一實施例之卷搬移中執行資料讀寫的電子裝置的方塊示意圖。 [圖2]為本發明一實施例之資料搬移示意圖(一)。 [圖3]為本發明一實施例之卷搬移中執行資料讀寫的電子裝置的方法流程圖。 [圖4]為本發明一實施例之資料搬移示意圖(二)。 [圖5]為本發明一實施例之資料搬移示意圖(三)。 [圖6]為本發明一實施例之資料搬移示意圖(四)。 [圖7]為本發明一實施例之資料搬移示意圖(五)。 [圖8]為本發明一實施例之資料搬移示意圖(六)。
Claims (10)
- 一種卷搬移中執行資料讀寫的方法,包含: 阻擋對一第一卷之一讀寫動作; 將該讀寫動作的執行對象切換至全新的一第二卷; 釋放該讀寫動作,以使該讀寫動作對於該第二卷執行;及 將該第一卷之資料搬移至該第二卷中,於搬移過程中,若該第二卷已存在資料,則不將該第一卷中對應位址的內容搬移至該第二卷。
- 如請求項1所述之卷搬移中執行資料讀寫的方法,其中該讀寫動作為讀取時,讀取該第二卷的一讀取位址。
- 如請求項2所述之卷搬移中執行資料讀寫的方法,其中若於該第二卷的該讀取位址讀取不到資料,則至該第一卷對應該讀取位址的位址讀取。
- 如請求項1所述之卷搬移中執行資料讀寫的方法,其中該讀寫動作為寫入時,將資料寫入於該第二卷中對應於該第一卷的一寫入位址的位址。
- 如請求項1所述之卷搬移中執行資料讀寫的方法,其中該第一卷為一原始卷的一克隆卷。
- 一種卷搬移中執行資料讀寫的電子裝置,包含: 一儲存模組,包含複數卷,該些卷包含一第一卷及一第二卷;及 一控制模組,電連接該儲存模組,該控制模組包含: 一鎖定單元,阻擋對該第一卷之一讀寫動作; 一調整單元,將該讀寫動作的執行對象切換至全新的該第二卷;及 一執行單元,執行該讀寫動作; 其中,於該讀寫動作的執行對象切換至該第二卷後,該鎖定單元釋放該讀寫動作,以使該執行單元對於該第二卷執行該讀寫動作,並將該第一卷之資料搬移至該第二卷中,於搬移過程中,若該第二卷已存在資料,則不將該第一卷中對應位址的內容搬移至該第二卷。
- 如請求項6所述之卷搬移中執行資料讀寫的電子裝置,其中該讀寫動作為讀取時,該執行單元讀取該第二卷的一讀取位址。
- 如請求項7所述之卷搬移中執行資料讀寫的電子裝置,其中若於該第二卷的該讀取位址讀取不到資料,則該執行單元至該第一卷對應該讀取位址的位址讀取。
- 如請求項6所述之卷搬移中執行資料讀寫的電子裝置,其中該讀寫動作為寫入時,該執行單元將資料寫入於該第二卷中對應於該第一卷的一寫入位址的位址。
- 如請求項6所述之卷搬移中執行資料讀寫的電子裝置,其中該第一卷為一原始卷的一克隆卷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107100994A TWI659306B (zh) | 2018-01-10 | 2018-01-10 | 卷搬移中執行資料讀寫的方法及電子裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107100994A TWI659306B (zh) | 2018-01-10 | 2018-01-10 | 卷搬移中執行資料讀寫的方法及電子裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI659306B true TWI659306B (zh) | 2019-05-11 |
TW201931128A TW201931128A (zh) | 2019-08-01 |
Family
ID=67348136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107100994A TWI659306B (zh) | 2018-01-10 | 2018-01-10 | 卷搬移中執行資料讀寫的方法及電子裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI659306B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200601151A (en) * | 2003-12-31 | 2006-01-01 | Sandisk Corp | Flash memory system startup operation |
US20110106863A1 (en) * | 2009-10-30 | 2011-05-05 | Symantec Corporation | Using a per file activity ratio to optimally relocate data between volumes |
CN103645953A (zh) * | 2008-08-08 | 2014-03-19 | 亚马逊技术有限公司 | 向执行中的程序提供对非本地块数据存储装置的可靠访问 |
CN104011717A (zh) * | 2011-12-15 | 2014-08-27 | 国际商业机器公司 | 对数据存储备份的数据选择 |
CN104714756A (zh) * | 2013-12-17 | 2015-06-17 | 国际商业机器公司 | 用于在双向同步镜像环境中进行本地锁定的方法和计算机系统 |
CN105051672A (zh) * | 2013-03-14 | 2015-11-11 | 微软技术许可有限责任公司 | 具有存储特质不同的层的数据存储卷 |
US9274718B1 (en) * | 2014-06-20 | 2016-03-01 | Emc Corporation | Migration in replication system |
-
2018
- 2018-01-10 TW TW107100994A patent/TWI659306B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200601151A (en) * | 2003-12-31 | 2006-01-01 | Sandisk Corp | Flash memory system startup operation |
CN103645953A (zh) * | 2008-08-08 | 2014-03-19 | 亚马逊技术有限公司 | 向执行中的程序提供对非本地块数据存储装置的可靠访问 |
US20110106863A1 (en) * | 2009-10-30 | 2011-05-05 | Symantec Corporation | Using a per file activity ratio to optimally relocate data between volumes |
CN104011717A (zh) * | 2011-12-15 | 2014-08-27 | 国际商业机器公司 | 对数据存储备份的数据选择 |
CN105051672A (zh) * | 2013-03-14 | 2015-11-11 | 微软技术许可有限责任公司 | 具有存储特质不同的层的数据存储卷 |
CN104714756A (zh) * | 2013-12-17 | 2015-06-17 | 国际商业机器公司 | 用于在双向同步镜像环境中进行本地锁定的方法和计算机系统 |
US9274718B1 (en) * | 2014-06-20 | 2016-03-01 | Emc Corporation | Migration in replication system |
Also Published As
Publication number | Publication date |
---|---|
TW201931128A (zh) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10970235B2 (en) | Computing system with a nonvolatile storage and operating method thereof | |
TWI289749B (en) | Method, system, and computer readable medium recording instructions for reducing an amount of data transferred | |
US8380922B1 (en) | Data storage device comprising host interface state machine blocking on target logical block address | |
KR100708128B1 (ko) | 낸드 플래시 메모리 제어 장치 및 방법 | |
US20150149741A1 (en) | Storage System and Control Method Thereof | |
US8489852B2 (en) | Method and system for manipulating data | |
CN104104705B (zh) | 分布式存储系统的接入方法和设备 | |
JP4724640B2 (ja) | ストレージ仮想化スイッチ | |
KR20150015621A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
WO2021174698A1 (zh) | 虚拟机快照创建方法、装置、存储介质及计算机设备 | |
CN105389134A (zh) | 一种闪存接口控制方法及装置 | |
TWI659306B (zh) | 卷搬移中執行資料讀寫的方法及電子裝置 | |
US20140052947A1 (en) | Data storage device and method of controlling data storage device | |
US10761892B2 (en) | Method and electronic device for executing data reading/writing in volume migration | |
JP2016189187A (ja) | 記録装置、および情報処理装置 | |
JP2012118797A (ja) | メモリ装置及びメモリ制御方法 | |
US20130031320A1 (en) | Control device, control method and storage apparatus | |
CN104423895A (zh) | 存储器装置、信息处理装置及信息处理方法 | |
CN110018785B (zh) | 卷间数据迁移中执行数据读写的方法及电子装置 | |
US10846019B2 (en) | Semiconductor device | |
US9058295B2 (en) | Encrypt data of storage device | |
JP2011192053A (ja) | ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法 | |
US8392759B2 (en) | Test method, test program, test apparatus, and test system | |
TWI781464B (zh) | 用於資料之加密及解密的運算裝置 | |
JP6695000B2 (ja) | 低コストハードウェアを使用して記憶装置の待ち時間を改善する方法 |