TWI592864B - 資料儲存裝置及其資料維護方法 - Google Patents
資料儲存裝置及其資料維護方法 Download PDFInfo
- Publication number
- TWI592864B TWI592864B TW105119405A TW105119405A TWI592864B TW I592864 B TWI592864 B TW I592864B TW 105119405 A TW105119405 A TW 105119405A TW 105119405 A TW105119405 A TW 105119405A TW I592864 B TWI592864 B TW I592864B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- flash memory
- time
- maintenance
- storage device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明係關於一種資料儲存裝置之資料維護方法;特別係關於一種延長忙碌時間之資料維護方法。
快閃記憶體為一種普遍的非揮發性資料儲存裝置,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等使用。
快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks)。各區塊包括複數頁面(pages)。一般而言,在快閃記憶體中資料讀取的單位是頁面。由於eMMC的規格限制,快閃記憶體可以執行資料維護的時間有限,故資料維護工作無法完整被執行,造成資料保存的問題。
本發明所提供之資料儲存裝置以及資料維護方法可藉由延遲電路延長控制器之忙碌時間。
本發明提供一種資料儲存裝置。資料儲存裝置包括一延遲電路、一快閃記憶體以及一控制器。控制器用以自一主機接收一讀取命令,根據讀取命令讀取快閃記憶體中之一第
一資料,當快閃記憶體需要進行維護時,根據維護快閃記憶體所需的一維護時間產生一設定訊號。延遲電路自控制器接收設定訊號,根據設定訊號將第一資料分割為複數第一子資料,並且每隔一動態延遲時間依序傳送至少一個第一子資料段至主機,以延長控制器之一忙碌時間。
在一實施例中,設定訊號係用以致能延遲電路,並且用以根據維護時間設置動態延遲時間。另外,控制器係在第一資料需要更新或者搬移以進行維護時,判斷快閃記憶體需要進行維護,並且在第一資料不需要更新或者搬移時,判斷快閃記憶體不需要進行維護。延遲電路係根據一既定長度,將第一資料分割為一第一數量之第一子資料,並且每一第一子資料的長度為既定長度。
又一實施例中,控制器係根據快閃記憶體中需要進行更新或者搬移之資料量決定維護時間,並且根據維護時間以及第一數量決定動態延遲時間,其中當動態延遲時間超過一既定時間限制時,控制器將既定時間限制的長度作為動態延遲時間。
另外,資料儲存裝置符合嵌入式快閃記憶體模組之規範,嵌入式快閃記憶體模組之規範包括資料儲存裝置回傳之資料間的間隔必須在既定時間限制以內。控制器更用以在忙碌時間中維護快閃記憶體中需要更新或者搬移之資料。
本發明亦提供一種資料維護方法適用於具有一快閃記憶體之資料儲存裝置。資料維護方法包括:根據自一主機接收一讀取命令,讀取快閃記憶體中之一第一資料;當快閃記
憶體需要進行維護時,根據維護快閃記憶體所需的一維護時間產生一設定訊號;以及根據設定訊號致能一延遲電路,以將第一資料分割為複數第一子資料,並且每隔一動態延遲時間依序傳送至少一個第一子資料段至主機,以延長資料儲存裝置中之一控制器的一忙碌時間。
在一實施例中,設定訊號係用以致能延遲電路,並且用以根據維護時間設置動態延遲時間。當第一資料需要更新或者搬移以進行維護時,快閃記憶體需要進行維護,並且當第一資料不需要更新或者搬移時,快閃記憶體不需要進行維護。將第一資料分割為第一子資料之步驟係根據一既定長度,將第一資料分割為一第一數量之第一子資料,並且每一第一子資料的長度為既定長度。
另外,資料維護方法更包括根據快閃記憶體中需要進行更新或者搬移之資料量決定維護時間,並且根據維護時間以及第一數量決定動態延遲時間,以及在忙碌時間中維護快閃記憶體中需要更新或者搬移之資料。其中當動態延遲時間超過一既定時間限制時,將既定時間限制的長度作為動態延遲時間。其中,資料儲存裝置符合嵌入式快閃記憶體模組之規範,嵌入式快閃記憶體模組之規範包括資料儲存裝置回傳之資料間的間隔必須在既定時間限制以內。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
150‧‧‧延遲電路
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧動態隨機存取器
180‧‧‧快閃記憶體
TL‧‧‧既定時間限制
DS1~DS2‧‧‧資料
CMD‧‧‧命令解析程序
BT0~BT3‧‧‧忙碌時間
RO1~RO2‧‧‧讀取程序
SDS1_1~SDS1_N、SDS2_1~SDS2_N‧‧‧子資料
DAT1、DAT2‧‧‧動態延遲時間
S400~S412‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2圖係本發明之一種實施例之在嵌入式快閃記憶體模組
之規範下資料傳輸的示意圖。
第3圖係本發明之另一種實施例之在嵌入式快閃記憶體模組之規範下資料傳輸的示意圖。
第4圖係本發明之一種實施例之資料維護方法之流程圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖係本發明之一種實施例之電子系統之方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一延遲電路150、一快閃記憶體180以及一控制器160,且可根據主機120所下達的命令操作。
延遲電路150係為一硬體電路,其可由邏輯閘、暫存器、電晶體、電阻、電容及/或電感所構成。在某些實施例中,其亦可為一積體電路。延遲電路150用以分割資料並且動態地調整資料傳算的間隔。
控制器160包括一運算單元162、一永久記憶體(如,唯讀記憶體ROM)164以及一動態隨機存取器(RAM)166。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180。
快閃記憶體180包括複數區塊,每一區塊包括複數頁面。快閃記憶體180讀取以及寫入之單位為頁面,並且快閃
記憶體180抹除之單位為區塊。
值得注意的是,資料儲存裝置140需要符合特定之規範,並且在特定之規範的限制下傳輸資料,其中該特定規範為各種記憶體之傳輸規範。在一實施例中,資料儲存裝置140符合嵌入式快閃記憶體模組(eMMC)之規範。詳細而言,嵌入式快閃記憶體模組之規範包括資料儲存裝置140回傳之資料間的間隔必須在一既定時間限制以內。舉例而言,既定時間限制為100m秒,但本發明不限於此。在其他規範中,既定時間限制可為符合該規範的其他值。另外,當主機120所要讀取之資料的量大於一個頁面時,控制器160皆係以頁面為單位進行讀取,並且將所讀取之頁面的資料傳送至主機120後,讀取下一個頁面的資料,但本發明不限於此。在其他實施立中,控制器160亦可讀取兩個以上之頁面,並且塞選所讀取之頁面中所需要的資料。當所需要的資料量等於一個頁面的資料量時,控制器160才將所需要之頁面的資料傳送至主機120,接著再讀取其他個頁面的資料。
第2圖係本發明之一種實施例之在嵌入式快閃記憶體模組之規範下資料傳輸的示意圖。如第2圖所示,控制器160自主機120接收到讀取命令,其中讀取命令係用以讀取快閃記憶體180快閃記憶體中之第一資料DS1以及第二資料DS2。在一實施例中,快閃記憶體180之頁面的資料量為32K位元組,第一資料DS1之資料量則亦為32K位元組,並且第二資料DS2之資料量也亦為32K位元組,但本發明不限於此。在其他實施例中,快閃記憶體180之頁面的資料量亦可為8K位元組、16K位元組
等等。另外,在其他實施例中,讀取命令亦可讀取快閃記憶體180中之其他數量的資料。在接收到讀取命令後,控制器160在命令解析程序CMD中開始解析所接收之讀取命令,以根據所解析之讀取命令分別在讀取程序RO1以及讀取程序RO2中讀取快閃記憶體180中之第一資料DS1以及第二資料DS2。另外,控制器160更用以致使所讀取之第一資料DS1以及第二資料DS2依序地被傳送給主機120。一般而言,控制器160會利用資料傳送給主機120的時間及/或解析完讀取命令後多餘的時間在背景進行資料維護(Error Handle)的工作,其中在背景進行資料維護工作之區段稱為忙綠時間(Busy Time)。資料維護包括將快閃記憶體180中錯誤位元數過高的資料更新、將讀取次數過高的資料搬移等等。然而,在嵌入式快閃記憶體模組之規範中,資料傳輸的間隔必須小於一既定時間限制TL。換言之,主機120傳送讀取命令至資料儲存裝置140與接收到資料儲存裝置140所回傳之第一資料DS1的時間間隔必須小於既定時間限制TL,並且主機120接收完第一資料DS1與接收到資料儲存裝置140所回傳之第二資料DS2的時間間隔也必須小於既定時間限制TL。因此,控制器160可以進行資料維護之忙碌時間BT0~BT2也就被限制,導致控制器160無法順利完成資料維護。值得注意的是,上述之實施例不需要延遲電路150。
有鑑於此,本發明提供另一種實施例,以延長控制器160之忙碌時間。在本實施例中,控制器160用以自主機120接收一讀取命令,並根據讀取命令讀取快閃記憶體180中之一第一資料。當快閃記憶體180需要進行維護時,控制器160根據
維護快閃記憶體180所需的一維護時間產生一設定訊號,其中設定訊號係用以致能延遲電路150,並且用以根據維護時間設置延遲電路150之動態延遲時間。另外,控制器160係在第一資料需要更新或者搬移以進行維護時,判斷快閃記憶體180需要進行維護,並且在第一資料不需要更新或者搬移時,判斷快閃記憶體180不需要進行維護。值得注意的是,控制器160係根據快閃記憶體180中需要進行更新或者搬移之資料量決定維護時間,並且根據維護時間以及第一數量決定動態延遲時間,其中當動態延遲時間超過一既定時間限制時,控制器160將既定時間限制的長度作為動態延遲時間。
在本實施例中,延遲電路150自控制器160接收設定訊號,根據設定訊號將第一資料分割為複數第一子資料,並且每隔一動態延遲時間依序傳送至少一個第一子資料段至主機120,以延長控制器160之忙碌時間,其中延遲電路150係根據一既定長度,將第一資料分割為一第一數量之第一子資料,並且每一第一子資料的長度為既定長度。
在一實施例中,第一資料之資料量等於一個頁面的資料量,並且既定長度為嵌入式快閃記憶體模組之規範中最小的資料傳輸單位。換言之,第一資料相當於第2圖所示之DS1或者DS2。另外,控制器160可根據公式(1)計算動態延遲時間,如下所示:M=(T-C)/(N-1).....公式(1)
其中,M為動態延遲時間,T為所有資料維護需要之時間,C為已處理之資料維護動作所花費的時間,並且N為第一子資料之數量。假如一個頁面的資料量為32K位元組並且嵌入式快閃記憶體模組之規範中最小的資料傳輸單位為512位元組時,延遲電路150則將大小為32K位元組之第一資料切割為64個大小為512位元組之第一子資料,其中N則為64。
第3圖係本發明之另一種實施例之在嵌入式快閃記憶體模組之規範下資料傳輸的示意圖。如第3圖所示,控制器160自主機120接收到讀取命令,其中讀取命令係用以讀取快閃記憶體180快閃記憶體中之第一資料DS1以及第二資料DS2。在其他實施例中,讀取命令亦可讀取快閃記憶體180中之其他數量的資料。在接收到讀取命令後,控制器160在命令解析程序CMD中開始解析所接收之讀取命令。接著,在讀取程序RO1中,控制器160讀取快閃記憶體180中之第一資料DS1,並且在第一資料DS1讀取完畢後判斷快閃記憶體180是否需要進行維護。當快閃記憶體180需要進行維護時,控制器160更用以根據維護快閃記憶體180所需的維護時間產生一第一設定訊號。在產生第一設定訊號並且將第一設定訊號傳送至延遲電路150後,控制器160進入忙碌時間BT1以進行快閃記憶體180之資料維護,同時延遲電路150開始分割第一資料DS1,並且根據第一設定訊號中所指示之第一動態延遲時間DAT1將所分割之第一子資料SDS1_1~SDS1_N傳送至主機120,其中第一動態延遲時間DAT1小於既定時間限制TL。值得注意的是,資料分割以及傳輸的動作是由延遲電路150所執行,對於控制器160而言,
控制器160依舊是一次讀取一個頁面之資料量的資料,並且一次將一個頁面之資料量的資料傳送至主機120。在傳送完最後一個第一子資料SDS1_N後,控制器160接著執行讀取程序RO2。在讀取程序RO2中,控制器160讀取快閃記憶體180中之第二資料DS2,並且在第二資料DS2讀取完畢後判斷快閃記憶體180是否需要進行維護。當快閃記憶體180需要進行維護時,控制器160更用以根據維護快閃記憶體180所需的維護時間產生一第二設定訊號。在產生第二設定訊號並且將第二設定訊號傳送至延遲電路150後,控制器160進入忙碌時間BT2以進行快閃記憶體180之資料維護,同時延遲電路150開始分割第二資料DS2,並且根據第二設定訊號中所指示之第二動態延遲時間DAT2將所分割之第二子資料SDS2_1~SDS2_N傳送至主機120,其中第二動態延遲時間DAT2小於既定時間限制TL。值得注意的是,基於控制器160產生設定訊號時當下所需處理之資料維護的資料量,第一動態延遲時間DAT1以及動態延遲時間DAT2可不同。
如第3圖所示,在本實施例中,控制器160之忙碌時間最多可被延長至(N-1)*TL。因此,控制器160有充足的時間可進行資料維護。
第4圖係本發明之一種實施例之資料維護方法之流程圖。資料維護方法適用於第1圖所示之資料儲存裝置140,用以延長控制器160之忙碌時間,如第3圖所示。值得注意的是,資料儲存裝置140需要符合特定之規範,並且在特定之規範的限制下傳輸資料,其中該特定規範為各種記憶體之傳輸規
範。在一實施例中,資料儲存裝置140符合嵌入式快閃記憶體模組(eMMC)之規範。詳細而言,嵌入式快閃記憶體模組之規範包括資料儲存裝置140回傳之資料間的間隔必須在一既定時間限制以內。舉例而言,既定時間限制為100m秒,但本發明不限於此。在其他規範中,既定時間限制可為符合該規範的其他值。流程開始於步驟S400。
在步驟S400中,控制器160自主機120接收一讀取命令,其中讀取命令係用以讀取快閃記憶體180快閃記憶體中之資料DS1。
接著,在步驟S402中,控制器160根據自讀取命令,讀取快閃記憶體180中之資料。值得注意的是,當主機120所要讀取之資料的量大於一個頁面時,控制器160皆係以頁面為單位進行讀取,並且將所讀取之頁面的資料傳送至主機120後,再讀取下一個頁面的資料。在其他實施例中,控制器160亦可讀取兩個以上之頁面,並且塞選所讀取之頁面中所需要的資料。當所需要的資料量等於一個頁面的資料量時,控制器160才將所需要之頁面的資料傳送至主機120,接著再讀取其他個頁面的資料。因此,在步驟S402中,控制器160一次僅會讀取相當於一個頁面之資料量的資料。
接著,在步驟S404中,控制器160判斷快閃記憶體180是否需要進行維護。在一實施例中,當在步驟S402中所讀取之資料需要更新或者搬移以進行維護時,控制器160判斷快閃記憶體180需要進行維護,並且當在步驟S402中所讀取之資料不需要更新或者搬移時,快閃記憶體180不需要進行維護,
但本發明不限於此。在另一實施例中,只要快閃記憶體180中存在需要進行維護之資料時,控制器160則判斷快閃記憶體180需要進行維護。值得注意的是,當資料的錯誤位元數過高或者讀取次數過高需要更新或者搬移時,該資料則需要維護。當快閃記憶體180需要進行維護時,流程進行至步驟S406;否則,流程進行至步驟S410。
在步驟S406中,控制器160根據維護快閃記憶體180所需的一維護時間產生一設定訊號。設定訊號係用以致能延遲電路150,並且用以根據維護時間設置延遲電路150之動態延遲時間。詳細而言,控制器160係根據快閃記憶體180中需要進行更新或者搬移之資料量決定維護時間,並且根據維護時間以及第一數量決定包含於設定訊號中之動態延遲時間,其中當動態延遲時間超過既定時間限制時,控制器160將既定時間限制的長度作為動態延遲時間。
接著,在步驟S408中,控制器160根據設定訊號致能一延遲電路150並且進入忙碌時間。控制器160傳送設定訊號至延遲電路150,以致使延遲電路150將第一資料分割為複數第一子資料,並且每隔一動態延遲時間依序傳送至少一個第一子資料段至主機120,以延長資料儲存裝置140中之控制器160的忙碌時間,其中延遲電路150係根據一既定長度,將第一資料分割為一第一數量之第一子資料,並且每一第一子資料的長度為既定長度。另外,控制器160用以在忙碌時間中對快閃記憶體180中需要更新或者搬移之資料進行維護。詳細說明請參考第3圖。
在步驟S410中,控制器160直接將所讀取之資料傳送至主機120。換言之,延遲電路150不會被致能,資料不是藉由延遲電路150傳送至主機120的。
接著,在步驟S412中,控制器160判斷是否還有相應於讀取命令之資料還沒讀取。當還有資料未讀取時,流程回到步驟S402,否則,流程結束於步驟S412。
本發明所提供之資料儲存裝置以及資料維護方法可在特定的記憶體規範下,藉由延遲電路延長控制器之忙碌時間。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,
摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
150‧‧‧延遲電路
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧動態隨機存取器
180‧‧‧快閃記憶體
Claims (14)
- 一種資料儲存裝置,包括:一快閃記憶體;一控制器,用以自一主機接收一讀取命令,根據該讀取命令讀取該快閃記憶體中之一第一資料,當該快閃記憶體需要進行維護時,根據維護該快閃記憶體所需的一維護時間產生一設定訊號;以及一延遲電路,自該控制器接收該設定訊號,響應於該設定訊號將該第一資料分割為複數第一子資料,並且每隔一動態延遲時間依序傳送至少一個該第一子資料段至該主機,以延長該控制器之一忙碌時間。
- 根據申請專利範圍第1項之資料儲存裝置,其中該設定訊號係用以致能該延遲電路,並且用以根據該維護時間設置該動態延遲時間。
- 根據申請專利範圍第1項之資料儲存裝置,其中該控制器係在該第一資料需要更新或者搬移以進行維護時,判斷該快閃記憶體需要進行維護,並且在該第一資料不需要更新或者搬移時,判斷該快閃記憶體不需要進行維護。
- 根據申請專利範圍第1項之資料儲存裝置,其中該延遲電路係根據一既定長度,將該第一資料分割為一第一數量之該等第一子資料,並且每一該等第一子資料的長度為該既定長度。
- 根據申請專利範圍第4項之資料儲存裝置,其中該控制器係根據該快閃記憶體中需要進行更新或者搬移之資料量決定 該維護時間,並且根據該維護時間以及該第一數量決定該動態延遲時間,其中當該動態延遲時間超過一既定時間限制時,該控制器將該既定時間限制的長度作為該動態延遲時間。
- 根據申請專利範圍第5項之資料儲存裝置,其中該資料儲存裝置符合嵌入式快閃記憶體模組(eMMC)之規範,該嵌入式快閃記憶體模組之規範包括該資料儲存裝置回傳之資料間的間隔必須在該既定時間限制以內。
- 根據申請專利範圍第5項之資料儲存裝置,其中該控制器更用以在該忙碌時間中對該快閃記憶體中需要更新或者搬移之資料進行維護。
- 一種資料維護方法,適用於具有一快閃記憶體之資料儲存裝置,包括:根據自一主機接收一讀取命令,讀取該快閃記憶體中之一第一資料;當該快閃記憶體需要進行維護時,根據維護該快閃記憶體所需的一維護時間產生一設定訊號;以及響應於該設定訊號致能一延遲電路,以將該第一資料分割為複數第一子資料,並且每隔一動態延遲時間依序傳送至少一個該第一子資料段至該主機,以延長該資料儲存裝置中之一控制器的一忙碌時間。
- 根據申請專利範圍第8項之資料維護方法,其中該設定訊號係用以致能該延遲電路,並且用以根據該維護時間設置該動態延遲時間。
- 根據申請專利範圍第8項之資料維護方法,其中當該第一資料需要更新或者搬移以進行維護時,該快閃記憶體需要進行維護,並且當該第一資料不需要更新或者搬移時,該快閃記憶體不需要進行維護。
- 根據申請專利範圍第8項之資料維護方法,其中將該第一資料分割為該等第一子資料之步驟係根據一既定長度,將該第一資料分割為一第一數量之該等第一子資料,並且每一該等第一子資料的長度為該既定長度。
- 根據申請專利範圍第11項之資料維護方法,更包括根據該快閃記憶體中需要進行更新或者搬移之資料量決定該維護時間,並且根據該維護時間以及該第一數量決定該動態延遲時間,其中當該動態延遲時間超過一既定時間限制時,將該既定時間限制的長度作為該動態延遲時間。
- 根據申請專利範圍第12項之資料維護方法,其中該資料儲存裝置符合嵌入式快閃記憶體模組(eMMC)之規範,該嵌入式快閃記憶體模組之規範包括該資料儲存裝置回傳之資料間的間隔必須在該既定時間限制以內。
- 根據申請專利範圍第12項之資料維護方法,更包括在該忙碌時間中維護該快閃記憶體中需要更新或者搬移之資料。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105119405A TWI592864B (zh) | 2016-06-21 | 2016-06-21 | 資料儲存裝置及其資料維護方法 |
CN201610602838.7A CN107526539B (zh) | 2016-06-21 | 2016-07-28 | 数据储存装置及其数据维护方法 |
US15/618,232 US9875032B2 (en) | 2016-06-21 | 2017-06-09 | Data storage device and data maintenance method thereof |
US15/844,890 US10048870B2 (en) | 2016-06-21 | 2017-12-18 | Electronic system and data maintenance method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105119405A TWI592864B (zh) | 2016-06-21 | 2016-06-21 | 資料儲存裝置及其資料維護方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI592864B true TWI592864B (zh) | 2017-07-21 |
TW201800929A TW201800929A (zh) | 2018-01-01 |
Family
ID=60048675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105119405A TWI592864B (zh) | 2016-06-21 | 2016-06-21 | 資料儲存裝置及其資料維護方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9875032B2 (zh) |
CN (1) | CN107526539B (zh) |
TW (1) | TWI592864B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10515023B2 (en) * | 2016-02-29 | 2019-12-24 | Intel Corporation | System for address mapping and translation protection |
TWI592864B (zh) * | 2016-06-21 | 2017-07-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
US10866746B2 (en) | 2017-12-28 | 2020-12-15 | Silicon Motion Inc. | Memory addressing methods and associated controller, memory device and host |
TWI709858B (zh) | 2017-12-28 | 2020-11-11 | 慧榮科技股份有限公司 | 快閃記憶體控制器、安全數位卡、使用於快閃記憶體控制器的方法以及存取安全數位卡的主機 |
TWI715409B (zh) * | 2020-01-08 | 2021-01-01 | 點序科技股份有限公司 | 記憶體管理方法及儲存控制器 |
TWI778363B (zh) * | 2020-05-29 | 2022-09-21 | 慧榮科技股份有限公司 | 採多級架構控制器的資料儲存裝置 |
US20220129171A1 (en) * | 2020-10-23 | 2022-04-28 | Pure Storage, Inc. | Preserving data in a storage system operating in a reduced power mode |
US11636055B2 (en) * | 2021-07-14 | 2023-04-25 | Silicon Motion, Inc. | Method and apparatus for performing access management of memory device in predetermined communications architecture with aid of flexible delay time control |
CN117055823B (zh) * | 2023-10-11 | 2024-02-06 | 西安热工研究院有限公司 | 一种可信分散控制系统上位机组态读取方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8139574B2 (en) * | 2006-08-18 | 2012-03-20 | George Madathilparambil George | Creation and transmission of part of protocol information corresponding to network packets or datalink frames separately |
US7904673B2 (en) * | 2007-11-20 | 2011-03-08 | Seagate Technology Llc | Data storage device with histogram of idle time and scheduling of background and foreground jobs |
US8566507B2 (en) * | 2009-04-08 | 2013-10-22 | Google Inc. | Data storage device capable of recognizing and controlling multiple types of memory chips |
KR102193993B1 (ko) * | 2014-02-21 | 2020-12-22 | 삼성전자주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
CN105159841B (zh) * | 2014-06-13 | 2018-10-19 | 华为技术有限公司 | 一种内存迁移方法及装置 |
TWI592864B (zh) * | 2016-06-21 | 2017-07-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
-
2016
- 2016-06-21 TW TW105119405A patent/TWI592864B/zh active
- 2016-07-28 CN CN201610602838.7A patent/CN107526539B/zh active Active
-
2017
- 2017-06-09 US US15/618,232 patent/US9875032B2/en active Active
- 2017-12-18 US US15/844,890 patent/US10048870B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9875032B2 (en) | 2018-01-23 |
US10048870B2 (en) | 2018-08-14 |
TW201800929A (zh) | 2018-01-01 |
CN107526539B (zh) | 2020-10-23 |
US20170364277A1 (en) | 2017-12-21 |
US20180107405A1 (en) | 2018-04-19 |
CN107526539A (zh) | 2017-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI592864B (zh) | 資料儲存裝置及其資料維護方法 | |
US10573389B2 (en) | Storage device having parameter calibration function, and operating method thereof | |
CN110660441A (zh) | 存储器装置中多个块的擦除 | |
TWI517181B (zh) | 資料儲存裝置及其資料維護方法 | |
EP3605341B1 (en) | Controlling performance of a solid state drive | |
TWI515737B (zh) | 資料儲存裝置以及其資料抹除方法 | |
US10628082B2 (en) | Data reading method and storage controller | |
CN111816240A (zh) | 闪存Nand Flash的动态测试方法、装置、电子设备及存储介质 | |
KR20200021821A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN109426581B (zh) | 用以检测数据储存装置的数据储存方法及其数据储存装置 | |
US9564241B2 (en) | Memory system and user device including the same | |
US20160179392A1 (en) | Non-volatile memory device | |
CN112817878B (zh) | 操作具有动态可变属性的存储器的系统和方法 | |
US11809326B2 (en) | Electronic system including host and memory system for performing read operation based on physical address received from the host | |
US9627075B1 (en) | Semiconductor memory device and semiconductor system | |
TWI553641B (zh) | 資料儲存裝置及其模式偵測方法 | |
TW201839595A (zh) | 記憶裝置、記憶裝置的控制方法及存取系統 | |
US11656794B2 (en) | Host timeout avoidance in a memory device | |
TW201710901A (zh) | 資料儲存裝置及其資料維護方法 | |
TWI557560B (zh) | 資料儲存裝置以及資料讀取方法 | |
CN106528452B (zh) | 动态逻辑分段方法以及使用该方法的装置 | |
CN111370051B (zh) | 一种非易失存储器验证系统及方法 | |
US12061792B1 (en) | Method of handling host write commands requesting to write dummy pattern on flash memory and related memory controller and storage system | |
TWI490870B (zh) | 資料儲存裝置及其資料維護方法 | |
CN112860180B (zh) | 半导体存储器装置及其操作方法 |