CN107870738A - 数据储存装置及其数据写入方法 - Google Patents

数据储存装置及其数据写入方法 Download PDF

Info

Publication number
CN107870738A
CN107870738A CN201610948265.3A CN201610948265A CN107870738A CN 107870738 A CN107870738 A CN 107870738A CN 201610948265 A CN201610948265 A CN 201610948265A CN 107870738 A CN107870738 A CN 107870738A
Authority
CN
China
Prior art keywords
data
flash memory
write
main frame
received
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.)
Pending
Application number
CN201610948265.3A
Other languages
English (en)
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 CN107870738A publication Critical patent/CN107870738A/zh
Pending legal-status Critical Current

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/061Improving I/O performance
    • 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/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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种数据储存装置,包括一快闪存储器以及一控制器。控制器自一主机接收用以指示将多个数据写入快闪存储器的多个写入命令,逐一根据所接到的写入命令自主机接收数据,其中在接收数据的过程中,当数据中已接收到的数据尚未累积至一既定量时,记录已接收到的数据的状态为尚未确认,当已接收到的数据中的多个第一数据累积至既定量时,将多个第一数据写入快闪存储器,并且在所有第一数据被写入快闪存储器后,传送相应于第一数据的多个写入确认信号至主机。

Description

数据储存装置及其数据写入方法
技术领域
本发明有关于一种数据储存装置的数据写入方法;特别有关于一种可一次进行多个写入命令的数据写入方法。
背景技术
快闪存储器为一种普遍的非挥发性数据储存装置,是以电性方式抹除与程式化。以与非门型的快闪存储器(即NAND FLASH)为例,常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)、嵌入式快闪存储器模组(eMMC)…等使用。
快闪存储器(如,NAND FLASH)的储存阵列包括多个区块(blocks)。各区块包括多个页面(pages)。一般而言,在快闪存储器中数据读取的单位是页面。在以往eMMC的规格中,写入命令需要逐一执行。换言之,当所接收的写入命令已执行完毕后,数据储存装置才可自主机接收另一个写入命令的数据以执行另一写入任务。因此,如何更有效率的执行写入命令是增进数据储存装置效能的重要问题。
发明内容
本发明所提供的数据储存装置以及数据写入方法可将多个写入命令的数据一次写入快闪存储器中,以增进数据族存装置的写入效率。
本发明提供一种数据储存装置包括一快闪存储器以及一控制器。控制器自一主机接收用以指示将多个数据写入快闪存储器的多个写入命令,逐一根据所接到的写入命令自主机接收数据,其中在接收数据的过程中,当数据中已接收到的数据尚未累积至一既定量时,记录已接收到的至少一数据的状态为尚未确认,当数据中已接收到的多个第一数据累积至既定量时,将已接收到的第一数据写入快闪存储器,并且在所有第一数据被写入快闪存储器后,传送相应于第一数据的多个写入确认信号至主机。
在一实施例中,既定量为快闪存储器的一写入单位,并且写入单位为页面。另外,每一写入确认信号系用以告知主机所相应的第一数据已被写入快闪存储器中。
又一实施例中,数据储存装置操作于嵌入式快闪存储器模组(eMMC)规范或者通用快闪存储器(UFS)规范中的一快取关闭模式(cache off)。
本发明亦提供一种数据储存装置包括一快闪存储器以及一控制器。控制器自一主机接收一切换信号,并且响应于切换信号操作于嵌入式快闪存储器模组(eMMC)规范或者通用快闪存储器(UFS)规范中的一快取关闭模式,其中在快取关闭模式中,控制器将由多个第一写入命令所指示的多个第一数据写入快闪存储器,并且在所有第一数据被写入快闪存储器后,传送相应于第一写入命令的多个写入确认信号至一主机。
在一实施例中,控制器自主机接收分别用以写入多个数据的多个写入命令,逐一根据所接收的写入命令自主机接收数据,并且当数据中已被接收的第一数据累积至一既定量时,将第一数据一次写入快闪存储器中。详细而言,在从第一数据中的第一者被写入快闪存储器至第一数据中的最后一者被写入快闪存储器的过程中,用以代表快闪存储器是否忙碌的一忙碌旗标皆维持在一忙碌状态。
在一实施例中,既定量为快闪存储器的一写入单位,并且写入单位为页面。另外,每一写入确认信号用以告知主机所相应的第一写入命令的第一数据已被写入快闪存储器中。
本发明亦提供一种数据写入方法适用于具有一快闪存储器的一数据储存装置。数据写入方法包括:自一主机接收用以指示将多个数据写入快闪存储器的多个写入命令;逐一根据所接到的写入命令自主机接收数据;当数据中已接收到的数据尚未累积至一既定量时,记录已接收到的至少一数据的状态为尚未确认;当数据中已接收到的多个第一数据累积至既定量时,将已接收到的第一数据写入快闪存储器;以及在所有第一数据被写入快闪存储器后,传送相应于第一数据的多个写入确认信号至主机。
在一实施例中,数据储存装置操作于嵌入式快闪存储器模组(eMMC)规范或者通用快闪存储器(UFS)规范中的一快取关闭模式(cache off)。
本发明又提供一种数据写入方法适用于具有一快闪存储器的一数据储存装置。数据写入方法包括:自一主机接收一切换信号,并且响应于切换信号操作于嵌入式快闪存储器模组(eMMC)规范或者通用快闪存储器(UFS)规范中的一快取关闭模式。在快取关闭模式中数据写入方法还包括:将由多个第一写入命令所指示的多个第一数据写入快闪存储器;以及在所有第一数据被写入快闪存储器后,传送相应于第一写入命令的多个写入确认信号至一主机。
在一实施例中,将由写入命令所指示的数据写入快闪存储器的步骤还包括:自主机接收分别用以写入多个数据的多个写入命令;逐一根据所接收的写入命令自主机接收数据;以及当数据中已被接收的第一数据累积至一既定量时,将第一数据一次写入快闪存储器中。其中,在从第一数据中的第一者被写入快闪存储器至第一数据中的最后一者被写入快闪存储器的过程中,用以代表快闪存储器是否忙碌的一忙碌旗标皆维持在一忙碌状态。
附图说明
图1是本发明的一种实施例的电子系统的方块图。
图2是本发明的一种实施例的数据写入的示意图。
图3是本发明的一种实施例的数据写入的示意图。
图4是本发明的一种实施例的数据写入方法的流程图。
符号说明
100 电子系统;
120 主机;
140 数据储存装置;
160 控制器;
162 运算单元;
164 永久存储器;
166 动态随机存取存储器;
180 快闪记忆体;
W_COMM_1~W_COMM_5 写入命令;
DATA1~DATA5 数据;
D_TRA_R1~D_TRA_R5 数据传送要求;
Resp_1~Resp_5 写入确认信号;
NAND_Busy_1~NAND_Busy_5 忙碌期间;
S400~S416 步骤。
具体实施方式
以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
图1是本发明的一种实施例的电子系统的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机120所下达的命令操作。值得注意的是,在本发明中的一实施例中,数据储存装置140需符合嵌入式快闪存储器180模组(eMMC)的规范。
控制器160包括一运算单元162、一永久存储器(如,只读存储器ROM)164以及一随机存取存储器(RAM)166。永久存储器164与所载的程式码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。随机存取存储器(RAM)166用以暂存以及预取控制器160所需的数据。换言之,控制器160所需要用以读取数据的参数可被上载至随机存取存储器166,以加快控制器160的忙碌时间。值得注意的是,数据储存装置140具有用以代表快闪存储器180是否忙碌的一忙碌旗标,其中忙碌旗标可被设置于快闪存储器180或者随机存取存储器166中。当快闪存储器180在进行读取或者写入数据时,忙碌旗标具有一第一既定值用以代表一忙碌状态。在快闪存储器180没有在进行读取或者写入动作时,忙碌旗标具有一第二既定值用以代表一闲置状态。
在嵌入式快闪存储器模组(eMMC)规范以及通用快闪存储器(UFS)规范中具有快取关闭模式(Cache off)以及快闪开启模式(Cache on)。在快取关闭模式中,数据储存装置140必须将自主机120接收的写入命令所指示的数据写入快闪存储器180后,才可传送写入确认信号给主机120,以告知主机120相应的写入命令的数据已被写入快闪存储器180中。换言之,在快取关闭模式中,数据储存装置140回传写入确认信号给主机120时,代表数据已确实写入数据储存装置140中的快闪存储器180,故数据不会在断电事件中丢失。在快取开启模式中,数据储存装置140可以在将自主机120接收的写入命令所指示的数据暂存在随机存取存储器166后,即可传送写入确认信号给主机120。在传送写入确认信号给主机120后,控制器160再根据特定的规则将随机存取存储器166中的数据写入快闪存储器180中。换言之,在快取开启模式中,数据储存装置140回传写入确认信号给主机120时,不代表数据已确实写入数据储存装置140中的快闪存储器180,故数据可能会在断电事件中丢失。
图2是本发明的一种实施例的数据写入的示意图。在图2中,数据储存装置140操作于嵌入式快闪存储器模组(eMMC)规范或者通用快闪存储器180(UFS)规范中的快取关闭模式。首先,主机120传送多个写入命令W_COMM_1~W_COMM_4至数据储存装置140。在接收到写入命令W_COMM_1~W_COMM_4后,控制器160先传送相应于写入命令W_COMM_1的一数据传送要求D_TRA_R1至主机120。在接收到数据传送要求D_TRA_R1后,主机120将相应于写入命令W_COMM_1的数据DATA1传送至数据储存装置140。接着,控制器160在存储器忙碌期间NAND_Busy_1中,将所接收的数据DATA1写入快闪存储器180中。值得注意的是,在开始将数据DATA1写入快闪存储器180时,控制器160或者快闪存储器180将忙碌旗标设置为忙碌状态,并且在数据DATA1写入完毕后,控制器160或者快闪存储器180将忙碌旗标设置为闲置状态。在忙碌旗标被设置为闲置状态后,控制器160将写入确认信号Resp_1传送至主机120,以告知主机120写入命令W_COMM_1的数据DATA1已被写入快闪存储器180中。接着,控制器160再传送相应于写入命令W_COMM_2的一数据传送要求D_TRA_R2至主机120。在接收到数据传送要求D_TRA_R2后,主机120将相应于写入命令W_COMM_2的数据DATA2传送至数据储存装置140。接着,控制器160在存储器忙碌期间NAND_Busy_2中,将所接收的数据DATA2写入快闪存储器180中,其中在开始将数据DATA2写入快闪存储器180时,控制器160或者快闪存储器180将忙碌旗标设置为忙碌状态,并且在数据DATA2写入完毕后,控制器160或者快闪存储器180将忙碌旗标设置为闲置状态。在忙碌旗标被设置为闲置状态后,控制器160将写入确认信号Resp_2传送至主机120,以告知主机120写入命令W_COMM_2的数据DATA2已被写入快闪存储器180中。接着,控制器160再传送相应于写入命令W_COMM_3的一数据传送要求D_TRA_R3至主机120。在接收到数据传送要求D_TRA_R3后,主机120将相应于写入命令W_COMM_3的数据DATA3传送至数据储存装置140。接着,控制器160在存储器忙碌期间NAND_Busy_3中,将所接收的数据DATA3写入快闪存储器180中,其中在开始将数据DATA3写入快闪存储器180时,控制器160或者快闪存储器180将忙碌旗标设置为忙碌状态,并且在数据DATA3写入完毕后,控制器160或者快闪存储器180将忙碌旗标设置为闲置状态。在忙碌旗标被设置为闲置状态后,控制器160将写入确认信号Resp_3传送至主机120,以告知主机120写入命令W_COMM_3的数据DATA3已被写入快闪存储器180中。接着,控制器160再传送相应于写入命令W_COMM_4的一数据传送要求D_TRA_R4至主机120。在接收到数据传送要求D_TRA_R4后,主机120将相应于写入命令W_COMM_4的数据DATA4传送至数据储存装置140。接着,控制器160在存储器忙碌期间NAND_Busy_4中,将所接收的数据DATA4写入快闪存储器180中,其中在开始将数据DATA4写入快闪存储器180时,控制器160或者快闪存储器180将忙碌旗标设置为忙碌状态,并且在数据DATA4写入完毕后,控制器160或者快闪存储器180将忙碌旗标设置为闲置状态。在忙碌旗标被设置为闲置状态后,控制器160将写入确认信号Resp_4传送至主机120,以告知主机120写入命令W_COMM_4的数据DATA4已被写入快闪存储器180中。接着,控制器160再传送相应于写入命令W_COMM_5的一数据传送要求D_TRA_R5至主机120。在接收到数据传送要求D_TRA_R5后,主机120将相应于写入命令W_COMM_5的数据DATA5传送至数据储存装置140。接着,控制器160在存储器忙碌期间NAND_Busy_5中,将所接收的数据DATA5写入快闪存储器180中,其中在开始将数据DATA5写入快闪存储器180时,控制器160或者快闪存储器180将忙碌旗标设置为忙碌状态,并且在数据DATA5写入完毕后,控制器160或者快闪存储器180将忙碌旗标设置为闲置状态。在忙碌旗标被设置为闲置状态后,控制器160将写入确认信号Resp_5传送至主机120,以告知主机120写入命令W_COMM_5的数据DATA5已被写入快闪存储器180中。
如上所示,控制器160皆是在数据写入快闪存储器180后,才传送写入确认信号至主机120。因此,在快取关闭模式中数据储存装置140具有较强的数据保护能力。然而,由于快闪存储器180的最小写入单位为页面,故当写入命令所指示的数据的数据量未满一个页面时,控制器160仍需要致使快闪存储器180对一个页面进行写入,造成数据储存装置140的写入效率降低。举例而言,一个页面的大小为32KB,每一数据DATA1~DATA5的大小皆为8KB。因此,每一存储器忙碌期间存储器忙碌期间NAND_Busy_1~NAND_Busy_5皆需要花费与写入32KB的数据相同的时间,将8KB的数据写入快闪存储器180中,造成写入效能的不理想。
有鉴于此,本发明的另一实施例基于通用快闪存储器(UFS)规范在11.3.14.3、11.3.15.3以及11.3.16.3中的规定,提供一种在快取关闭模式中的写入方法。
详细而言,控制器160自主机120接收一切换信号,并且响应于切换信号操作于嵌入式快闪存储器模组(eMMC)规范或者通用快闪存储器(UFS)规范中的快取关闭模式。在快取关闭模式(cache off)中,控制器160自主机120接收多个写入命令,并且逐一根据所接到的写入命令自主机120接收数据。在接收数据的过程中,当这些数据中已接收到的数据尚未累积至一既定量时,记录已接收到的至少一数据的状态为尚未确认。换言之,当这些数据中已接收到的数据尚未累积至一既定量时,记录相应于已接收到的至少一数据的写入确认信号尚未被传送至主机120。在一实施例中,数据的状态可记录于随机存取存储器166中,以特定的位元表示之,但本发明不限于此。在其他实施例中,数据的状态亦可记录于其他存储器,例如快闪存储器180等等。当这些数据中已接收到的多个第一数据累积至既定量时,将已接收到的第一数据一次写入快闪存储器180中,并且在所有第一数据被写入快闪存储器180后,传送相应于所有第一数据的多个写入确认信号至主机120,其中在从第一数据中的第一者被写入快闪存储器180至第一数据中的最后一者被写入快闪存储器180的过程中,忙碌旗标皆维持在忙碌状态。换言之,控制器160陆续自主机120接收用以指示将多个数据写入快闪存储器180的多个写入命令,并且以既定量为单位将数据集中在一个存储器忙碌期间写入快闪存储器180中,并且在忙碌期间后,一次将所有在忙碌期间所写入的数据的写入确认信号传送至主机120。值得注意的是,在所接收的数据累积到既定量之前,所有已接收并且尚未写入快闪存储器180的数据的数据状态皆会被记录,以在所接收并且尚未写入的数据累积至既定量时,协助控制器160根据所记录的数据回传其相应的写入确认信号至主机120。在一实施例中,既定量为快闪存储器180的一写入单位(最小写入单位)。举例而言,一般的快闪存储器180的写入单位为页面,但本发明不限于此。在其他实施例中,既定量亦可基于快闪存储器180写入的规则设计,并且快闪存储器180的写入最小单位亦可为区块(Block)或者区段(sector)。
图3是本发明的一种实施例的数据写入的示意图。在图3中,数据储存装置140操作于嵌入式快闪存储器模组(eMMC)规范或者通用快闪存储器180(UFS)规范中的快取关闭模式。首先,主机120传送多个写入命令W_COMM_1~W_COMM_5至数据储存装置140,其中写入命令W_COMM_1用以指示数据储存装置140将数据DATA1写入快闪存储器180中,写入命令W_COMM_2用以指示数据储存装置140将数据DATA2写入快闪存储器180中,写入命令W_COMM_3用以指示数据储存装置140将数据DATA3写入快闪存储器180中,写入命令W_COMM_4用以指示数据储存装置140将数据DATA4写入快闪存储器180中,并且写入命令W_COMM_2用以指示数据储存装置140将数据DATA5写入快闪存储器180中。值得注意的是,在本实施例中,一个页面的大小为32KB,每一数据DATA1~DATA5的大小皆为8KB,但本发明不限于此。在接收到写入命令W_COMM_1~W_COMM_5后,控制器160传送相应于写入命令W_COMM_1的一数据传送要求D_TRA_R1至主机120。在接收到数据传送要求D_TRA_R1后,主机120将相应于写入命令W_COMM_1的数据DATA1传送至数据储存装置140。控制器160将所接收的数据DATA1储存于随机存取存储器166中,并且判断随机存取存储器166中尚未被写入的数据DATA1是否累积至一既定量。在本实施例中,既定量为一个页面的大小。换言之,数据DATA1的数据量8KB小于既定量32KB,故控制器160先不将数据DATA1写入快闪存储器180中。接着,控制器160继续传送相应于写入命令W_COMM_2的一数据传送要求D_TRA_R2至主机120。在接收到数据传送要求D_TRA_R2后,主机120将相应于写入命令W_COMM_2的数据DATA2传送至数据储存装置140。控制器160将所接收的数据DATA2储存于随机存取存储器166中,并且判断随机存取存储器166中尚未被写入的数据DATA1~DATA2是否累积至既定量。数据DATA1~DATA2的总数据量为16KB仍小于既定量32KB,故控制器160先不将数据DATA1~DATA2写入快闪存储器180中。接着,控制器160继续传送相应于写入命令W_COMM_3的一数据传送要求D_TRA_R3至主机120。在接收到数据传送要求D_TRA_R3后,主机120将相应于写入命令W_COMM_3的数据DATA1传送至数据储存装置140。控制器160将所接收的数据DATA3储存于随机存取存储器166中,并且判断随机存取存储器166中尚未被写入的数据DATA1~DATA3是否累积至既定量。数据DATA1~DATA3的总数据量为24KB仍小于既定量32KB,故控制器160先不将数据DATA1~DATA3写入快闪存储器180中。接着,控制器160传送相应于写入命令W_COMM_4的一数据传送要求D_TRA_R4至主机120。在接收到数据传送要求D_TRA_R4后,主机120将相应于写入命令W_COMM_4的数据DATA4传送至数据储存装置140。控制器160将所接收的数据DATA4储存于随机存取存储器166中,并且判断随机存取存储器166中尚未被写入的数据DATA1~DATA4是否累积至既定量。数据DATA1~DATA4的总数据量为32KB已累积至既定量32KB。因此,控制器在存储器忙碌期间NAND_Busy_1中,将储存于随机存取存储器166中的数据DATA1~DATA4一次写入快闪存储器180中。值得注意的是,在开始将数据DATA1~DATA4写入快闪存储器180时,控制器160或者快闪存储器180将忙碌旗标设置为忙碌状态,并且在数据DATA1~DATA4皆写入完毕后,控制器160或者快闪存储器180将忙碌旗标设置为闲置状态。在忙碌旗标被设置为闲置状态后,控制器160将写入确认信号Resp_1~Resp_4传送至主机120,以告知主机120写入命令W_COMM_1~W_COMM_4的数据DATA1~DATA4已被写入快闪存储器180中。值得注意的是,在某些实施例中,已被写入快闪存储器180的数据会从随机存取存储器166中被删除。接着,控制器160继续传送相应于写入命令W_COMM_5的一数据传送要求D_TRA_R5至主机120。在接收到数据传送要求D_TRA_R5后,主机120将相应于写入命令W_COMM_5的数据DATA5传送至数据储存装置140。控制器160将所接收的数据DATA5储存于随机存取存储器166中,并且判断随机存取存储器166中尚未被写入的数据DATA5是否累积至既定量。由于,目前随机存取存储器166中仅有数据DATA5的8KB的数据量需要被写入快闪存储器180中,故随机存取存储器166中尚未被写入的数据其并未到达既定量。然而,写入命令W_COMM_5是最后一个写入命令。因此,控制器160在忙碌期间NAND_Busy_2中,将储存于随机存取存储器166中的数据DATA5写入快闪存储器180中。值得注意的是,在开始将数据DATA5写入快闪存储器180时,控制器160或者快闪存储器180将忙碌旗标设置为忙碌状态,并且在数据DATA5写入完毕后,控制器160或者快闪存储器180将忙碌旗标设置为闲置状态。在忙碌旗标被设置为闲置状态后,控制器160将写入确认信号Resp_5传送至主机120,以告知主机120写入命令W_COMM_5的数据DATA5已被写入快闪存储器180中。同样的数据量以及同样的写入命令,数据储存装置140在图2的实施例中使用了五个存储器忙碌期间进行写入,在图3的实施例中仅使用了两个存储器忙碌期间进行写入。另外,在图2的实施例中,数据DATA1~DATA5分散在五个不同的页面中,并且被写入的页面的其他空白的空间也无法再被写入其他数据。在图3的实施例中,数据DATA1~DATA4被集中堆迭在一个页面中,而数据DATA5被储存于另一个页面。换言之,数据DATA1~DATA5仅使用了两个页面。因此,相较于图2的实施例,图3的实施利具有较快的写入速率以及较佳的存储器空间利用。
图4是本发明的一种实施例的数据写入方法的流程图。数据写入方法适用于图1所示的数据储存装置140。流程开始于步骤S400。值得注意的是,在本实施立中,数据储存装置140操作于嵌入式快闪存储器模组(eMMC)规范或者通用快闪存储器180(UFS)规范中的快取关闭模式。
在步骤S400中,控制器160自主机120接收用以写入多个数据的多个写入命令。
接着,在步骤S402中,控制器160传送相应于写入命令中之一者的一数据传送要求至主机120。举例而言,如图3所示,控制器160在步骤S400中,自主机120接收写入命令W_COMM_1~W_COMM_5,其中写入命令W_COMM_1用以指示数据储存装置140将数据DATA1写入快闪存储器180中,写入命令W_COMM_2用以指示数据储存装置140将数据DATA2写入快闪存储器180中,写入命令W_COMM_3用以指示数据储存装置140将数据DATA3写入快闪存储器180中,写入命令W_COMM_4用以指示数据储存装置140将数据DATA4写入快闪存储器180中,并且写入命令W_COMM_2用以指示数据储存装置140将数据DATA5写入快闪存储器180中。接着,在步骤S402中,控制器160则在写入命令W_COMM_1~W_COMM_5中选择所相应的数据DATA1~DATA5尚未被传送至数据储存装置140中之一者,以将所选择的写入命令相应的数据传送要求传送至主机120。
接着,在步骤S404中,控制器160自主机120接收相应于所传送的数据传送要求的数据,并且将所接收的数据储存于随机存取存储器166中。举例而言,如图3所示,当控制器160在步骤S402中传送数据传送要求D_TRA_R1至主机120时,控制器160则会在步骤S404中接收到数据DATA1,并且将数据DATA1储存于随机存取存储器166中。
接着,在步骤S406中,控制器160判断随机存取存储器166中尚未被写入的数据是否累积至一既定量。在一实施例中,既定量为快闪存储器180的一写入单位(最小写入单位)。举例而言,一般的快闪存储器180的写入单位为页面,但本发明不限于此。在其他实施例中,既定量亦可基于快闪存储器180写入的规则设计,并且快闪存储器180的写入最小单位亦可为区块(Block)或者区段(sector)。当随机存取存储器166中尚未被写入的数据已累积至既定量时,流程进行至步骤S412;否则,流程进行至步骤S408。
在步骤S408中,控制器160判断是否有其他写入命令所指示的数据尚未储存至随机存取存储器166中。当控制器160判断所接收的写入命令中之任一者所指示的数据尚未储存至随机存取存储器166时,流程回到步骤S402,控制器160继续传送数据传送要求至主机120以接收其他数据。当控制器160判断所接收的写入命令所有的数据皆储存至随机存取存储器166时,流程进行至步骤S410。
在步骤S410中,控制器160判断随机存取存储器166中是否具有尚未被写入快闪存储器180中的数据。当随机存取存储器166中有尚未被写入快闪存储器180中的数据时,流程进行至步骤S412;否则,流程结束于步骤S410。
在步骤S412中,控制器160开始将储存于随机存取存储器166中的数据,写入快闪存储器180中。值得注意的是,在一实施例中,在开始将数据写入快闪存储器180时,控制器160或者快闪存储器180会将忙碌旗标设置为忙碌状态,并且在数据皆写入完毕后,控制器160或者快闪存储器180将忙碌旗标设置为闲置状态。
接着,在步骤S414中,控制器判断快闪存储器180是否闲置。当快闪存储器180已闲置时,流程进行至步骤S416;否则,控制器160继续判断快闪存储器180是否已闲置。在一实施例中,控制器160根据忙碌旗标判断快闪存储器是否闲置,但本发明不限于此。
在步骤S416中,控制器160将所写入的数据所相应的写入确认信号传送至主机120,以告知主机120相应的数据已被写入快闪存储器180中。详细而言,如图3所示,控制器160在步骤S412中将数据DATA1~DATA4写入快闪存储器180中。接着,在步骤S416中,控制器160则传送相应于数据DATA1~DATA4的确认信号Resp_1~Resp_4至主机120,以告知主机120写入命令W_COMM_1~W_COMM_4的数据DATA1~DATA4已被写入快闪存储器180中。又另一实施例中,如图3所示,控制器160在步骤S412中将数据DATA5写入快闪存储器180中。接着,在步骤S416中,控制器160则传送相应于数据DATA5的确认信号Resp_5至主机120,以告知主机120写入命令W_COMM_5的数据DATA5已被写入快闪存储器180中。接着,流程回到步骤S406,控制器160继续判断随机存取存储器166中尚未被写入的数据是否累积至既定量。
本发明所提供的数据储存装置以及数据写入方法可将多个写入命令的数据一次写入快闪存储器中,以增进数据族存装置的写入效率。详细而言,本发明所提供的数据储存装置以及数据写入方法藉由一次性地将随机数据写入快闪存储器中以减少快闪存储器所花费的写入时间,使得随机数据被集中于一个页面中而非分散于不同的页面。
本发明的方法,或特定型态或其部份,可以以程式码的型态存在。程式码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程式产品,其中,当程式码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程式码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程式码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程式码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
以上所述,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或申请专利范围不须达成本发明所揭示的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。

Claims (20)

1.一种数据储存装置,包括:
一快闪存储器;以及
一控制器,自一主机接收用以指示将多个数据写入该快闪存储器的多个写入命令,逐一根据所接到的这些写入命令自该主机接收这些数据,其中在接收这些数据的过程中,当这些数据中已接收到至少一者尚未累积至一既定量时,记录已接收到的该至少一数据的状态为尚未确认,当这些数据中已接收到的多个第一数据累积至该既定量时,将已接收到的这些第一数据写入该快闪存储器,并且在所有这些第一数据被写入该快闪存储器后,传送相应于这些第一数据的多个写入确认信号至该主机。
2.根据权利要求1所述的数据储存装置,其特征在于,该既定量为该快闪存储器的一写入单位。
3.根据权利要求2所述的数据储存装置,其特征在于,该写入单位为页面。
4.根据权利要求1所述的数据储存装置,其特征在于,该数据储存装置操作于嵌入式快闪存储器模组规范或者通用快闪存储器规范中的一快取关闭模式。
5.根据权利要求1所述的数据储存装置,其特征在于,每一这些写入确认信号用以告知该主机所相应的该第一数据已被写入该快闪存储器中。
6.一种数据储存装置,包括:
一快闪存储器;以及
一控制器,自一主机接收一切换信号,并且响应于该切换信号操作于嵌入式快闪存储器模组规范或者通用快闪存储器规范中的一快取关闭模式,其中在该快取关闭模式中,该控制器将由多个第一写入命令所指示的多个第一数据写入该快闪存储器,并且在所有这些第一数据被写入该快闪存储器后,传送相应于这些第一写入命令的多个写入确认信号至一主机。
7.根据权利要求6所述的数据储存装置,其特征在于,该控制器自该主机接收分别用以写入多个数据的多个写入命令,逐一根据所接收的这些写入命令自该主机接收这些数据,并且当这些数据中已被接收的这些第一数据累积至一既定量时,将这些第一数据一次写入该快闪存储器中。
8.根据权利要求7所述的数据储存装置,其特征在于,在从这些第一数据中的第一者被写入该快闪存储器至这些第一数据中的最后一者被写入该快闪存储器的过程中,用以代表该快闪存储器是否忙碌的一忙碌旗标皆维持在一忙碌状态。
9.根据权利要求7所述的数据储存装置,其特征在于,该既定量为该快闪存储器的一写入单位,并且该写入单位为页面。
10.根据权利要求6所述的数据储存装置,其特征在于,每一这些写入确认信号用以告知该主机所相应的该第一写入命令的该第一数据已被写入该快闪存储器中。
11.一种数据写入方法,适用于具有一快闪存储器的一数据储存装置,包括:
自一主机接收用以指示将多个数据写入该快闪存储器的多个写入命令;
逐一根据所接到的这些写入命令自该主机接收这些数据;
当这些数据中已接收到的数据尚未累积至一既定量时,记录已接收到的该至少一数据的状态为尚未确认;
当这些数据中已接收到的多个第一数据累积至该既定量时,将已接收到的这些第一数据写入该快闪存储器;以及
在所有这些第一数据被写入该快闪存储器后,传送相应于这些第一数据的多个写入确认信号至该主机。
12.根据权利要求11所述的数据写入方法,其特征在于,该既定量为该快闪存储器的一写入单位。
13.根据权利要求12所述的数据写入方法,其特征在于,该写入单位为页面。
14.根据权利要求11所述的数据写入方法,其特征在于,该数据储存装置操作于嵌入式快闪存储器模组规范或者通用快闪存储器规范中的一快取关闭模式。
15.根据权利要求11所述的数据写入方法,其特征在于,每一这些写入确认信号用以告知该主机所相应的该第一数据已被写入该快闪存储器中。
16.一种数据写入方法,适用于具有一快闪存储器的一数据储存装置,包括:
自一主机接收一切换信号,并且响应于该切换信号操作于嵌入式快闪存储器模组规范或者通用快闪存储器规范中的一快取关闭模式,其中在该快取关闭模式中该数据写入方法还包括:
将由多个第一写入命令所指示的多个第一数据写入该快闪存储器;以及
在所有这些第一数据被写入该快闪存储器后,传送相应于这些第一写入命令的多个写入确认信号至一主机。
17.根据权利要求16所述的数据写入方法,其特征在于,该将由这些写入命令所指示的这些数据写入该快闪存储器的步骤还包括:
自该主机接收分别用以写入多个数据的多个写入命令;
逐一根据所接收的这些写入命令自该主机接收这些数据;以及
当这些数据中已被接收的这些第一数据累积至一既定量时,将这些第一数据一次写入该快闪存储器中。
18.根据权利要求17所述的数据写入方法,其特征在于,在从这些第一数据中的第一者被写入该快闪存储器至这些第一数据中的最后一者被写入该快闪存储器的过程中,用以代表该快闪存储器是否忙碌的一忙碌旗标皆维持在一忙碌状态。
19.根据权利要求17所述的数据写入方法,其特征在于,该既定量为该快闪存储器的一写入单位,并且该写入单位为页面。
20.根据权利要求16所述的数据写入方法,其特征在于,每一这些写入确认信号用以告知该主机所相应的该第一写入命令的该第一数据已被写入该快闪存储器中。
CN201610948265.3A 2016-09-22 2016-10-26 数据储存装置及其数据写入方法 Pending CN107870738A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW105130573 2016-09-22
TW105130573A TWI661352B (zh) 2016-09-22 2016-09-22 資料儲存裝置及其資料寫入方法

Publications (1)

Publication Number Publication Date
CN107870738A true CN107870738A (zh) 2018-04-03

Family

ID=61620568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610948265.3A Pending CN107870738A (zh) 2016-09-22 2016-10-26 数据储存装置及其数据写入方法

Country Status (3)

Country Link
US (1) US20180081796A1 (zh)
CN (1) CN107870738A (zh)
TW (1) TWI661352B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI704456B (zh) * 2018-11-22 2020-09-11 慧榮科技股份有限公司 資料儲存裝置與資料存取方法
CN112965669B (zh) * 2021-04-02 2022-11-22 杭州华澜微电子股份有限公司 一种数据存储系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999452A (zh) * 2011-09-16 2013-03-27 株式会社东芝 存储器设备
US20140293712A1 (en) * 2013-04-01 2014-10-02 Samsung Electronics Co., Ltd Memory system and method of operating memory system
US20160085465A1 (en) * 2014-09-23 2016-03-24 Sandisk Enterprise Ip Llc Validating the Status of Memory Operations
US20160162201A1 (en) * 2014-12-08 2016-06-09 Symbol Technologies, Inc. Emmc functionality expander

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664231A (en) * 1994-04-29 1997-09-02 Tps Electronics PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers
US6839801B2 (en) * 2003-01-06 2005-01-04 International Business Machines Corporation Deferred writing of data to be synchronized on magnetic tape employing a non-volatile store
JP4418439B2 (ja) * 2006-03-07 2010-02-17 パナソニック株式会社 不揮発性記憶装置およびそのデータ書込み方法
JP2012063871A (ja) * 2010-09-14 2012-03-29 Univ Of Tokyo 制御装置およびデータ記憶装置
US20130019053A1 (en) * 2011-07-14 2013-01-17 Vinay Ashok Somanache Flash controller hardware architecture for flash devices
US9892798B2 (en) * 2012-09-11 2018-02-13 Seagate Technology Llc Data protection for unexpected power loss
KR101919903B1 (ko) * 2012-09-14 2018-11-19 삼성전자 주식회사 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법
US9563579B2 (en) * 2013-02-28 2017-02-07 Intel Corporation Method, apparatus, system for representing, specifying and using deadlines
KR102181210B1 (ko) * 2014-01-10 2020-11-23 삼성전자주식회사 저장 장치의 데이터 처리 방법 및 저장 장치
TWI498732B (zh) * 2014-02-20 2015-09-01 Phison Electronics Corp 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999452A (zh) * 2011-09-16 2013-03-27 株式会社东芝 存储器设备
US20140293712A1 (en) * 2013-04-01 2014-10-02 Samsung Electronics Co., Ltd Memory system and method of operating memory system
US20160085465A1 (en) * 2014-09-23 2016-03-24 Sandisk Enterprise Ip Llc Validating the Status of Memory Operations
US20160162201A1 (en) * 2014-12-08 2016-06-09 Symbol Technologies, Inc. Emmc functionality expander

Also Published As

Publication number Publication date
TWI661352B (zh) 2019-06-01
TW201814488A (zh) 2018-04-16
US20180081796A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
CN105593942B (zh) 非易失性存储器装置中的易失性存储器架构及相关控制器
JP5002201B2 (ja) メモリシステム
CN101384984B (zh) 整合有多个闪存单元的便携式数据存储装置
CN105474319B (zh) 用于配置混合存储器模块的存储器的i/o的设备及方法
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit
CN109840215A (zh) 未对齐写入的处理
US10909031B2 (en) Memory system and operating method thereof
CN107408087A (zh) 用于在存储器存取操作期间同时存取存储器的多个存储器平面的设备及方法
CN107578793A (zh) 非易失性存储器系统和非易失性存储器装置的操作方法
CN104951402B (zh) 存储装置及其操作方法和计算系统
CN104699622B (zh) 数据储存装置以及其数据抹除方法
CN101167061A (zh) 非易失性存储器的接口
CN109683805A (zh) 存储器系统及其操作方法
CN110275673A (zh) 存储装置及其操作方法
CN109815160A (zh) 最后写入页搜索
CN101908368A (zh) 电子存储装置及其操作方法
CN107111456A (zh) 用于生成与主机命令相关联的提示信息的系统和方法
CN109947361A (zh) 存储器系统及其操作方法
CN110321068A (zh) 存储器控制器及操作存储器控制器的方法
CN109947662A (zh) 存储器系统及其操作方法
CN110058799A (zh) 存储器装置及操作存储器装置的方法
CN104700896B (zh) 存储器系统和包括所述存储器系统的用户装置
CN109003641A (zh) 存储设备及其操作方法
CN108733580A (zh) 读取命令排程方法
CN110175132A (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