CN107526539A - 数据储存装置及其数据维护方法 - Google Patents

数据储存装置及其数据维护方法 Download PDF

Info

Publication number
CN107526539A
CN107526539A CN201610602838.7A CN201610602838A CN107526539A CN 107526539 A CN107526539 A CN 107526539A CN 201610602838 A CN201610602838 A CN 201610602838A CN 107526539 A CN107526539 A CN 107526539A
Authority
CN
China
Prior art keywords
data
flash memory
controller
time
memory device
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201610602838.7A
Other languages
English (en)
Other versions
CN107526539B (zh
Inventor
郑张铠
林瑜智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN107526539A publication Critical patent/CN107526539A/zh
Application granted granted Critical
Publication of CN107526539B publication Critical patent/CN107526539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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)

Abstract

本发明提供一种数据储存装置及其数据维护方法。数据储存装置包括一延迟电路、一快闪存储器以及一控制器。控制器用以自一主机接收一读取命令,根据读取命令读取快闪存储器中的一第一数据,当快闪存储器需要进行维护时,根据维护快闪存储器所需的一维护时间产生一设定信号。延迟电路自控制器接收设定信号,根据设定信号将第一数据分割为多个第一子数据,并且每隔一动态延迟时间依序传送至少一个第一子数据段至主机,以延长控制器的一忙碌时间。

Description

数据储存装置及其数据维护方法
技术领域
本发明有关于一种数据储存装置的数据维护方法;特别有关于一种延长忙碌时间的数据维护方法。
背景技术
快闪存储器为一种普遍的非挥发性数据储存装置,是以电性方式抹除与程式化。以与非门型的快闪存储器(即NAND FLASH)为例,常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)、嵌入式快闪存储器模组(eMMC)…等使用。
快闪存储器(如,NAND FLASH)的储存阵列包括多个区块(blocks)。各区块包括多个页面(pages)。一般而言,在快闪存储器中数据读取的单位是页面。由于eMMC的规格限制,快闪存储器可以执行数据维护的时间有限,故数据维护工作无法完整被执行,造成数据保存的问题。
发明内容
本发明所提供的数据储存装置以及数据维护方法可藉由延迟电路延长控制器的忙碌时间。
本发明提供一种数据储存装置。数据储存装置包括一延迟电路、一快闪存储器以及一控制器。控制器用以自一主机接收一读取命令,根据读取命令读取快闪存储器中的一第一数据,当快闪存储器需要进行维护时,根据维护快闪存储器所需的一维护时间产生一设定信号。延迟电路自控制器接收设定信号,根据设定信号将第一数据分割为多个第一子数据,并且每隔一动态延迟时间依序传送至少一个第一子数据段至主机,以延长控制器的一忙碌时间。
在一实施例中,设定信号用以致能延迟电路,并且用以根据维护时间设置动态延迟时间。另外,控制器系在第一数据需要更新或者搬移以进行维护时,判断快闪存储器需要进行维护,并且在第一数据不需要更新或者搬移时,判断快闪存储器不需要进行维护。延迟电路根据一既定长度,将第一数据分割为一第一数量的第一子数据,并且每一第一子数据的长度为既定长度。
又一实施例中,控制器是根据快闪存储器中需要进行更新或者搬移的数据量决定维护时间,并且根据维护时间以及第一数量决定动态延迟时间,其中当动态延迟时间超过一既定时间限制时,控制器将既定时间限制的长度作为动态延迟时间。
另外,数据储存装置符合嵌入式快闪存储器模组的规范,嵌入式快闪存储器模组的规范包括数据储存装置回传的数据间的间隔必须在既定时间限制以内。控制器更用以在忙碌时间中维护快闪存储器中需要更新或者搬移的数据。
本发明亦提供一种数据维护方法适用于具有一快闪存储器的数据储存装置。数据维护方法包括:根据自一主机接收一读取命令,读取快闪存储器中的一第一数据;当快闪存储器需要进行维护时,根据维护快闪存储器所需的一维护时间产生一设定信号;以及根据设定信号致能一延迟电路,以将第一数据分割为多个第一子数据,并且每隔一动态延迟时间依序传送至少一个第一子数据段至主机,以延长数据储存装置中的一控制器的一忙碌时间。
在一实施例中,设定信号用以致能延迟电路,并且用以根据维护时间设置动态延迟时间。当第一数据需要更新或者搬移以进行维护时,快闪存储器需要进行维护,并且当第一数据不需要更新或者搬移时,快闪存储器不需要进行维护。将第一数据分割为第一子数据的步骤根据一既定长度,将第一数据分割为一第一数量的第一子数据,并且每一第一子数据的长度为既定长度。
另外,数据维护方法还包括根据快闪存储器中需要进行更新或者搬移的数据量决定维护时间,并且根据维护时间以及第一数量决定动态延迟时间,以及在忙碌时间中维护快闪存储器中需要更新或者搬移的数据。其中当动态延迟时间超过一既定时间限制时,将既定时间限制的长度作为动态延迟时间。其中,数据储存装置符合嵌入式快闪存储器模组的规范,嵌入式快闪存储器模组的规范包括数据储存装置回传的数据间的间隔必须在既定时间限制以内。
附图说明
图1是本发明的一种实施例的电子系统的方块图。
图2是本发明的一种实施例的在嵌入式快闪存储器模组的规范下数据传输的示意图。
图3是本发明的另一种实施例的在嵌入式快闪存储器模组的规范下数据传输的示意图。
图4是本发明的一种实施例的数据维护方法的流程图。
符号说明
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是本发明的一种实施例的电子系统的方块图。电子系统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的时间及/或解析完读取命令后多余的时间在背景进行数据维护(ErrorHandle)的工作,其中在背景进行数据维护工作的区段称为忙绿时间(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。
本发明所提供的数据储存装置以及数据维护方法可在特定的存储器规范下,藉由延迟电路延长控制器的忙碌时间。
本发明的方法,或特定型态或其部份,可以以程式码的型态存在。程式码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程式产品,其中,当程式码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程式码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程式码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程式码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
以上所述,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或申请专利范围不须达成本发明所揭露的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。

Claims (14)

1.一种数据储存装置,包括:
一快闪存储器;
一控制器,用以自一主机接收一读取命令,根据该读取命令读取该快闪存储器中的一第一数据,当该快闪存储器需要进行维护时,根据维护该快闪存储器所需的一维护时间产生一设定信号;以及
一延迟电路,自该控制器接收该设定信号,根据该一信号将该第一数据分割为多个第一子数据,并且每隔一动态延迟时间依序传送至一个该第一子数据段至该主机,以延长该控制器的忙碌时间。
2.根据权利要求1所述的数据储存装置,其特征在于,该设定信号用以致能该延迟电路,并且用以根据该维护时间设置该动态延迟时间。
3.根据权利要求1所述的数据储存装置,其特征在于,该控制器在该第一数据需要更新或者搬移以进行维护时,判断该快闪存储器需要进行维护,并且在该第一数据不需要更新或者搬移时,判断该快闪存储器不需要进行维护。
4.根据权利要求1所述的数据储存装置,其特征在于,该延迟电路根据一既定长度,将该第一数据分割为一第一数量的这些第一子数据,并且每一这些第一子数据的长度为该既定长度。
5.根据权利要求4所述的数据储存装置,其特征在于,该控制器根据该快闪存储器中需要进行更新或者搬移的数据量决定该维护时间,并且根据该维护时间以及该第一数量决定该动态延迟时间,其中当该动态延迟时间超过一既定时间限制时,该控制器将该既定时间限制的长度作为该动态延迟时间。
6.根据权利要求5所述的数据储存装置,其特征在于,该数据储存装置符合嵌入式快闪存储器模组的规范,该嵌入式快闪存储器模组的规范包括该数据储存装置回传的数据间的间隔必须在该既定时间限制以内。
7.根据权利要求5所述的数据储存装置,其特征在于,该控制器还用以在该忙碌时间中对该快闪存储器中需要更新或者搬移的数据进行维护。
8.一种数据维护方法,适用于具有一快闪存储器的数据储存装置,包括:
根据自一主机接收一读取命令,读取该快闪存储器中的一第一数据;
当该快闪存储器需要进行维护时,根据维护该快闪存储器所需的一维护时间产生一设定信号;以及
根据该设定信号致能一延迟电路,以将该第一数据分割为多个第一子数据,并且每隔一动态延迟时间依序传送至一个该第一子数据段至该主机,以延长该数据储存装置中的一控制器的一忙碌时间。
9.根据权利要求8所述的数据维护方法,其特征在于,该设定信号用以致能该延迟电路,并且用以根据该维护时间设置该动态延迟时间。
10.根据权利要求8所述的数据维护方法,其特征在于,当该第一数据需要更新或者搬移以进行维护时,该快闪存储器需要进行维护,并且当该第一数据不需要更新或者搬移时,该快闪存储器不需要进行维护。
11.根据权利要求8所述的数据维护方法,其特征在于,将该第一数据分割为这些第一子数据的步骤根据一既定长度,将该第一数据分割为一第一数量的这些第一子数据,并且每一这些第一子数据的长度为该既定长度。
12.根据权利要求11所述的数据维护方法,其特征在于,还包括根据该快闪存储器中需要进行更新或者搬移的数据量决定该维护时间,并且根据该维护时间以及该第一数量决定该动态延迟时间,其中当该动态延迟时间超过一既定时间限制时,将该既定时间限制的长度作为该动态延迟时间。
13.根据权利要求12所述的数据维护方法,其特征在于,该数据储存装置符合嵌入式快闪存储器模组的规范,该嵌入式快闪存储器模组的规范包括该数据储存装置回传的数据间的间隔必须在该既定时间限制以内。
14.根据权利要求12所述的数据维护方法,其特征在于,还包括在该忙碌时间中维护该快闪存储器中需要更新或者搬移的数据。
CN201610602838.7A 2016-06-21 2016-07-28 数据储存装置及其数据维护方法 Active CN107526539B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW105119405 2016-06-21
TW105119405A TWI592864B (zh) 2016-06-21 2016-06-21 資料儲存裝置及其資料維護方法

Publications (2)

Publication Number Publication Date
CN107526539A true CN107526539A (zh) 2017-12-29
CN107526539B CN107526539B (zh) 2020-10-23

Family

ID=60048675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610602838.7A Active CN107526539B (zh) 2016-06-21 2016-07-28 数据储存装置及其数据维护方法

Country Status (3)

Country Link
US (2) US9875032B2 (zh)
CN (1) CN107526539B (zh)
TW (1) TWI592864B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094302A (zh) * 2020-01-08 2021-07-09 点序科技股份有限公司 内存管理方法及存储控制器

Families Citing this family (8)

* 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 慧榮科技股份有限公司 快閃記憶體控制器、安全數位卡、使用於快閃記憶體控制器的方法以及存取安全數位卡的主機
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 西安热工研究院有限公司 一种可信分散控制系统上位机组态读取方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN102428453A (zh) * 2009-04-08 2012-04-25 谷歌公司 用于在快闪存储器数据存储装置中存储数据的方法及设备
US20150243338A1 (en) * 2014-02-21 2015-08-27 Samsung Electronics Co., Ltd. Memory device and memory system having the same
CN105159841A (zh) * 2014-06-13 2015-12-16 华为技术有限公司 一种内存迁移方法及装置

Family Cites Families (2)

* 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
TWI592864B (zh) * 2016-06-21 2017-07-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN102428453A (zh) * 2009-04-08 2012-04-25 谷歌公司 用于在快闪存储器数据存储装置中存储数据的方法及设备
US20150243338A1 (en) * 2014-02-21 2015-08-27 Samsung Electronics Co., Ltd. Memory device and memory system having the same
CN105159841A (zh) * 2014-06-13 2015-12-16 华为技术有限公司 一种内存迁移方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094302A (zh) * 2020-01-08 2021-07-09 点序科技股份有限公司 内存管理方法及存储控制器
CN113094302B (zh) * 2020-01-08 2023-02-28 点序科技股份有限公司 内存管理方法及存储控制器

Also Published As

Publication number Publication date
TWI592864B (zh) 2017-07-21
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

Similar Documents

Publication Publication Date Title
CN107526539A (zh) 数据储存装置及其数据维护方法
US10152273B2 (en) Nonvolatile memory controller and method for erase suspend management that increments the number of program and erase cycles after erase suspend
CN104934062B (zh) 非易失性存储器及写入方法
US9329992B2 (en) Data storage device and flash memory control method
DE60319563D1 (de) Verwaltung der anzahl von löschungen in einem nicht-fluchtigem speicher
CN105513638B (zh) 数据储存装置及其数据存取方法
CN110321068A (zh) 存储器控制器及操作存储器控制器的方法
CN103999159A (zh) 用于对存储器响应进行排序的存储器设备、计算机系统及方法
KR20200021821A (ko) 메모리 컨트롤러 및 그 동작 방법
CN104700896B (zh) 存储器系统和包括所述存储器系统的用户装置
CN109815160A (zh) 最后写入页搜索
CN109426581A (zh) 用以检测数据储存装置的数据储存方法及其数据储存装置
CN112988075A (zh) 一种通过区块链技术存储用户数据的方法及系统
CN109426445B (zh) 用以优化数据储存装置的数据储存方法及其数据储存装置
CN111312320A (zh) 半导体存储装置及其操作方法
CN111258934A (zh) 存储器控制器、包括其的存储器系统及操作其的方法
CN107678686B (zh) 基于硬件实现闪存的ftl功能的方法及其数据存储装置
CN106205712B (zh) 半导体存储器件及其操作方法
US9727249B1 (en) Selection of an open block in solid state storage systems with multiple open blocks
US9927996B2 (en) Information processing device
CN106021122A (zh) 光模块中闪存数据的写入方法及装置
CN106997275B (zh) 缓存管理方法及使用该方法的电子装置
CN103116549A (zh) 基于最大可擦除次数的闪存存储方法
CN108572786A (zh) 避免读取扰动的数据搬移方法以及使用该方法的装置
TWI633435B (zh) 避免讀取擾動的資料搬移方法以及使用該方法的裝置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant