TWI592864B - 資料儲存裝置及其資料維護方法 - Google Patents

資料儲存裝置及其資料維護方法 Download PDF

Info

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
Application number
TW105119405A
Other languages
English (en)
Other versions
TW201800929A (zh
Inventor
鄭張鎧
林瑜智
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW105119405A priority Critical patent/TWI592864B/zh
Priority to CN201610602838.7A priority patent/CN107526539B/zh
Priority to US15/618,232 priority patent/US9875032B2/en
Application granted granted Critical
Publication of TWI592864B publication Critical patent/TWI592864B/zh
Priority to US15/844,890 priority patent/US10048870B2/en
Publication of TW201800929A publication Critical patent/TW201800929A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation 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. 一種資料儲存裝置,包括:一快閃記憶體;一控制器,用以自一主機接收一讀取命令,根據該讀取命令讀取該快閃記憶體中之一第一資料,當該快閃記憶體需要進行維護時,根據維護該快閃記憶體所需的一維護時間產生一設定訊號;以及一延遲電路,自該控制器接收該設定訊號,響應於該設定訊號將該第一資料分割為複數第一子資料,並且每隔一動態延遲時間依序傳送至少一個該第一子資料段至該主機,以延長該控制器之一忙碌時間。
  2. 根據申請專利範圍第1項之資料儲存裝置,其中該設定訊號係用以致能該延遲電路,並且用以根據該維護時間設置該動態延遲時間。
  3. 根據申請專利範圍第1項之資料儲存裝置,其中該控制器係在該第一資料需要更新或者搬移以進行維護時,判斷該快閃記憶體需要進行維護,並且在該第一資料不需要更新或者搬移時,判斷該快閃記憶體不需要進行維護。
  4. 根據申請專利範圍第1項之資料儲存裝置,其中該延遲電路係根據一既定長度,將該第一資料分割為一第一數量之該等第一子資料,並且每一該等第一子資料的長度為該既定長度。
  5. 根據申請專利範圍第4項之資料儲存裝置,其中該控制器係根據該快閃記憶體中需要進行更新或者搬移之資料量決定 該維護時間,並且根據該維護時間以及該第一數量決定該動態延遲時間,其中當該動態延遲時間超過一既定時間限制時,該控制器將該既定時間限制的長度作為該動態延遲時間。
  6. 根據申請專利範圍第5項之資料儲存裝置,其中該資料儲存裝置符合嵌入式快閃記憶體模組(eMMC)之規範,該嵌入式快閃記憶體模組之規範包括該資料儲存裝置回傳之資料間的間隔必須在該既定時間限制以內。
  7. 根據申請專利範圍第5項之資料儲存裝置,其中該控制器更用以在該忙碌時間中對該快閃記憶體中需要更新或者搬移之資料進行維護。
  8. 一種資料維護方法,適用於具有一快閃記憶體之資料儲存裝置,包括:根據自一主機接收一讀取命令,讀取該快閃記憶體中之一第一資料;當該快閃記憶體需要進行維護時,根據維護該快閃記憶體所需的一維護時間產生一設定訊號;以及響應於該設定訊號致能一延遲電路,以將該第一資料分割為複數第一子資料,並且每隔一動態延遲時間依序傳送至少一個該第一子資料段至該主機,以延長該資料儲存裝置中之一控制器的一忙碌時間。
  9. 根據申請專利範圍第8項之資料維護方法,其中該設定訊號係用以致能該延遲電路,並且用以根據該維護時間設置該動態延遲時間。
  10. 根據申請專利範圍第8項之資料維護方法,其中當該第一資料需要更新或者搬移以進行維護時,該快閃記憶體需要進行維護,並且當該第一資料不需要更新或者搬移時,該快閃記憶體不需要進行維護。
  11. 根據申請專利範圍第8項之資料維護方法,其中將該第一資料分割為該等第一子資料之步驟係根據一既定長度,將該第一資料分割為一第一數量之該等第一子資料,並且每一該等第一子資料的長度為該既定長度。
  12. 根據申請專利範圍第11項之資料維護方法,更包括根據該快閃記憶體中需要進行更新或者搬移之資料量決定該維護時間,並且根據該維護時間以及該第一數量決定該動態延遲時間,其中當該動態延遲時間超過一既定時間限制時,將該既定時間限制的長度作為該動態延遲時間。
  13. 根據申請專利範圍第12項之資料維護方法,其中該資料儲存裝置符合嵌入式快閃記憶體模組(eMMC)之規範,該嵌入式快閃記憶體模組之規範包括該資料儲存裝置回傳之資料間的間隔必須在該既定時間限制以內。
  14. 根據申請專利範圍第12項之資料維護方法,更包括在該忙碌時間中維護該快閃記憶體中需要更新或者搬移之資料。
TW105119405A 2016-06-21 2016-06-21 資料儲存裝置及其資料維護方法 TWI592864B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法

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) 半导体存储器装置及其操作方法