CN101656104B - 快闪存储器储存***及其数据写入方法 - Google Patents
快闪存储器储存***及其数据写入方法 Download PDFInfo
- Publication number
- CN101656104B CN101656104B CN2008101445755A CN200810144575A CN101656104B CN 101656104 B CN101656104 B CN 101656104B CN 2008101445755 A CN2008101445755 A CN 2008101445755A CN 200810144575 A CN200810144575 A CN 200810144575A CN 101656104 B CN101656104 B CN 101656104B
- Authority
- CN
- China
- Prior art keywords
- data
- flash memory
- memory
- controller
- nand flash
- 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.)
- Active
Links
Images
Landscapes
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种快闪存储器储存***及其数据写入方法,此快闪存储器储存***包括控制器以及电性连接至此控制器的连接器、快取存储器、单层存储单元NAND快闪存储器与多层存储单元NAND快闪存储器。当控制器通过连接器从主机中接收到欲写入至MLC NAND快闪存储器的数据时,控制器会将数据暂时地储存在快取存储器并且之后将数据从快取存储器中写入至MLC NAND快闪存储器。此外,控制器会在接收到清除指令时将储存在快取存储器中的数据快速地暂存至SLC NAND快闪存储器中。基此,可有效地缩短对于主机***下达清除快取存储器时的回应时间,以提升***的整体效能。
Description
技术领域
本发明涉及一种储存***,特别是涉及一种使用多层存储单元(MultiLevel Cell,MLC)NAND(“与非”)快闪存储器作为储存媒体的快闪存储器储存***及其数据写入方法。
背景技术
数字相机、手机相机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于快闪存储器(Flash Memory)具有数据非易失性、省电、体积小与无机械结构等的特性,适合便携式应用,最适合使用于这类便携式由电池供电的产品上。固态硬盘就是一种以NAND快闪存储器作为储存媒体的储存装置。
一般来说,快闪存储器储存***的快闪存储器会划分为多个物理区块并且这些物理区块会分组为数据区(data area)与备用区(spare area)。归类为数据区的物理区块中会储存由写入指令所写入的有效数据,而备用区中的物理区块是用以在执行写入指令时替换数据区中的物理区块。具体来说,当快闪存储器储存***接受到主机的写入指令而欲对数据区的物理区块进行写入时,快闪存储器储存***会从备用区中提取一物理区块并且将在数据区中欲写入的物理区块中的有效旧数据与欲写入的新数据写入至从备用区中提取的物理区块并且将已写入新数据的物理区块关联为数据区,并且将原本数据区的物理区块进行擦除并关联为备用区。为了能够让主机能够顺利地存取以轮替方式储存数据的物理区块,快闪存储器储存***会提供逻辑区块给主机。也就是说,快闪存储器储存***会建立逻辑-物理区块对映表,并且在此表中记录与更新逻辑区块与数据区的物理区块的间的对映关系来反映物理区块的轮替,所以主机仅需要针对所提供逻辑区块进行写入而快闪存储器储存***会依据逻辑-物理区块对映表对所对映的物理区块进行读取或写入数据。
然而,随着快闪存储器制程上的进步而使得每一物理区块的设计容量会越来越大的同时,亦造成上述搬移有效旧数据的时间会相对的增加而使得当主机执行写入指令时必须等待较长的回应时间。特别是当以多层存储单元(Multi Level Cell,MLC)NAND快闪存储器作为储存媒体的快闪存储器储存***(例如,固态硬盘)当作主机***的主硬盘时,此上述的长回应时间会严重影响主机***的运作效能。为了克服此问题,目前在快闪存储器储存***中设置一动态随机存取存储器(Dynamic Random Access Memory,DRAM)作为一个快取存储器。在此架构中,主机***会被告知快闪存储器储存***支援快取存取的功能,因此从主机***接收的数据会先暂时地储存在此DRAM中以加速主机的运作。然而,由于DRAM中的数据会在关机时清除或者在容量不足时被新数据所取代,因此在此架构下主机***会在准备关机时或一特定需求时对快闪存储器储存***下达清除指令(flushcommand)以指示快闪存储器储存***立刻将DRAM中的暂存数据写入至MLC NAND快闪存储器中。然而,倘若暂存于DRAM的数据是相当零散,也就是这些暂存的数据是属于多个不同的物理区块时,将DRAM中的数据写入至MLC NAND快闪存储器会需要一段较长的时间。此时,主机***需会处于等候状态以等待快闪存储器储存***完成上述动作,此延迟时间将造成使用者的不便。因此,有需要针对使用MLC NAND快闪存储器的储存***发展一套能够加速暂存DRAM中的暂存数据的***。
发明内容
有鉴于此,本发明提供一种快闪存储器储存***,其能够在使用MLCNAND快闪存储器作为储存媒体且开启快取存储器功能的架构中有效地缩短主机***下达清除(flush)快取存储器时的回应时间,以提升***的整体效能。
本发明提供一种数据写入方法,其能够在使用MLC NAND快闪存储器作为储存媒体且开启快取存储器功能的架构中有效地缩短主机***下达清除(flush)快取存储器时的回应时间,以提升***的整体效能。
本发明提出一种快闪存储器储存***,其包括控制器以及电性连接至该控制器的连接器、快取存储器、单层存储单元(Single Level Cell,SLC)NAND快闪存储器与多层存储单元(Multi Level Cell,MLC)NAND快闪存储器。当控制器通过连接器从主机中接收到欲写入至MLC NAND快闪存储器的数据时,控制器会将数据暂时地储存在快取存储器中并且之后将数据从快取存储器中写入至MLC NAND快闪存储器中。此外,控制器会在单层存储单元NAND快闪存储器中暂存在快取存储器中所储存的数据。
在本发明的一实施例中,上述的控制器会在接收到主机的清除指令时将快取存储器中的数据暂存至单层存储单元NAND快闪存储器中。
在本发明的一实施例中,上述的控制器会将暂存在SLC NAND快闪存储器中的数据重新载入至快取存储器。
在本发明的一实施例中,上述的控制器会将暂存在SLC NAND快闪存储器中的数据写入至MLC NAND快闪存储器。
在本发明的一实施例中,上述的控制器会在快取存储器已存满数据时将快取存储器中所储存的数据暂存至SLC NAND快闪存储器中。
在本发明的一实施例中,上述的SLC NAND快闪存储器的容量是快取存储器的容量的两倍。
在本发明的一实施例中,上述的快取存储器为动态随机存取存储器(Dynamic Random Access Memory,DRAM)或双倍数据传输率动态随机存取存储器(Double Data Rate DRAM,DDR DRAM)。
本发明提出一种数据写入方法,其适用于具有快取存储器、SLC NAND快闪存储器与MLC NAND快闪存储器的快闪存储器储存***。此数据写入方法包括将欲写入至快闪存储器储存***的数据暂时地储存在快取存储器中,并且将数据从快取存储器中写入至MLC NAND快闪存储器中。此方法也包括在SLC NAND快闪存储器中暂存在快取存储器中所储存的数据。
在本发明的一实施例中,上述的在SLC NAND快闪存储器中暂存储存在快取存储器中的数据的步骤包括在接收到主机的清除指令时将快取存储器中所储存的数据暂存至SLC NAND快闪存储器中。
在本发明的一实施例中,上述的数据写入方法还包括将暂存在SLCNAND快闪存储器中的数据重新载入至快取存储器中。
在本发明的一实施例中,上述的数据写入方法还包括将暂存在SLCNAND快闪存储器中的数据写入至MLC NAND快闪存储器中。
在本发明的一实施例中,上述的在SLC NAND快闪存储器中暂存在快取存储器中所储存的数据的步骤包括在快取存储器已存满数据时将快取存储器中所储存的数据暂存至SLC NAND快闪存储器中。
本发明提出一种快闪存储器储存***,其包括控制器以及电性连接至此控制器的连接器、快取存储器与MLC NAND快闪存储器,其中MLCNAND快闪存储器会分割为缓冲储存区域与数据储存区域。缓冲储存区域与数据储存区域分别地具有多个物理区块且每一物理区块包括下页地址与上页地址,其中当控制器通过连接器从主机中接收到欲写入至MLC NAND快闪存储器的数据时,控制器会将数据暂时地储存在快取存储器中并且之后将数据从快取存储器中写入至数据储存区域,并且控制器会在缓冲储存区域的下页地址中暂存储存在快取存储器中的数据。
在本发明的一实施例中,上述的控制器会在接收到主机的清除指令时将快取存储器中的数据暂存至缓冲储存区域的下页地址中。
在本发明的一实施例中,上述的控制器会将暂存在缓冲储存区域的下页地址中的数据重新载入至快取存储器中。
在本发明的一实施例中,上述的控制器会将暂存在缓冲储存区域的下页地址中的数据写入至数据储存区域中。
在本发明的一实施例中,上述的控制器会在快取存储器已存满数据时将快取存储器中的数据暂存至缓冲储存区域的下页地址中。
在本发明的一实施例中,上述的缓冲储存区域的下页地址的容量是快取存储器的容量的两倍。
在本发明的一实施例中,上述的快取存储器为动态随机存取存储器(Dynamic Random Access Memory,DRAM)或双倍数据传输率动态随机存取存储器(Double Data Rate DRAM,DDR DRAM)。
本发明提出一种数据写入方法,其适用于具有快取存储器与MLCNAND快闪存储器的快闪存储器储存***,其中MLC NAND快闪存储器具有缓冲储存区域与数据储存区域,而缓冲储存区域与数据储存区域分别地具有多个物理区块且每一物理区块包括下页地址与上页地址。此数据写入方法包括将欲写入至快闪存储器储存***的数据暂时地储存在快取存储器中,并且将数据从该快取存储器中写入至MLC NAND快闪存储器的数据储存区域。此方法也包括在缓冲储存区域的下页地址中暂存在快取存储器中所储存的数据。
在本发明的一实施例中,上述的在缓冲储存区域的下页地址中暂存储存在快取存储器中的数据的步骤包括在接收到主机的清除指令时将快取存储器中的数据暂存至缓冲储存区域的下页地址中。
在本发明的一实施例中,上述的数据写入方法还包括将暂存在缓冲储存区域的下页地址中的数据重新载入至快取存储器中。
在本发明的一实施例中,上述的数据写入方法还包括将暂存在缓冲储存区域的下页地址中的数据写入至MLC NAND快闪存储器的数据储存区中。
在本发明的一实施例中,上述的在缓冲储存区域的下页地址中暂存在快取存储器中所储存的数据的步骤包括在快取存储器已存满数据时将快取存储器中的数据暂存至缓冲储存区域的下页地址中。
本发明提出一种快闪存储器储存***,其包括控制器以及电性连接至该控制器的连接器、快取存储器、第一非易失性存储器与第二非易失性存储器,其中第一非易失性存储器的写入速度快于第二非易失性存储器。当控制器通过连接器从主机中接收到欲写入至第二非易失性存储器的数据时,控制器会将数据暂时地储存在快取存储器中并且之后将数据从快取存储器中写入至第二非易失性存储器中。此外,控制器会在第一非易失性存储器中暂存在快取存储器中所储存的数据。
本发明因采用速度较快的暂存取来暂存快取存储器中的数据,因此能够避免主机***因等候快闪存储器储存***整理快取存储器中的数据而造成的延迟。
为使本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并结合附图详细说明如下。
附图说明
图1是根据本发明第一实施例绘示快闪存储器储存***的概要方块图。
图2A是绘示MLC NAND快闪存储器的编程示意图。
图2B是根据本发明实施例绘示MLC NAND快闪存储器的物理区块的上页地址与下页地址的配置范例。
图3是根据本发明第一实施例绘示数据写入步骤的流程图。
图4是根据本发明另一实施例绘示数据写入步骤的流程图。
图5是根据本发明第二实施例绘示快闪存储器储存***的概要方块图。
图6是根据本发明第二实施例绘示数据写入步骤的流程图。
附图符号说明
100、 400: 快闪存储器储存***
110、 410: 控制器
110a、410a: 微处理器单元
110b、410b: 存储器管理模块
110c、410c: 快闪存储器接口模块
110d、410d: 缓冲存储器
110e、410e: 主机接口模块
120 、420: 连接器
130、 430: MLC NAND快闪存储器
140、 430: 快取存储器
150: SLC NAND快闪存储器
200: 主机***
300: 总线
430a:缓冲储存区域430a
430b:数据储存区域430b
S301、S303、S305、S307、S351、S353、S361、S636:数据写入步骤
S501、S503、S505、S507、S551、S553:数据写入步骤
具体实施方式
为了解决上述在具有快取存储器的MLC NAND快闪存储器储存***中由于快取存储器的数据过于零散而使得在接受到主机的清除指令(flushcommand)需要较长时间的运作以将快取存储器中的数据写入至MLCNAND快闪存储器而产生的延迟,本发明利用在快闪存储器储存***配置具非易失性且写入速度较快的暂存区域(例如,另一非易失性存储器)来暂时地储存快取存储器中的数据。基此,快闪存储器储存***就可在接收到主机的清除指令时先将数据快速地暂存至此暂存区域中,以完成快取存储器中的数据的暂存。为能更清楚了解本发明,以下将以数个范例实施例并结合附图详细说明。
[第一实施例]
图1是根据本发明第一实施例绘示快闪存储器储存***的概要方块图。请参照图1,快闪存储器储存***100包括控制器110、连接器120、MLCNAND快闪存储器130、快取存储器140以及SLC NAND快闪存储器150。
通常快闪存储器储存***100会与主机***200一起使用,以使主机***200可将数据写入至快闪存储器储存***100或从快闪存储器储存***100中读取数据。在本实施例中,快闪存储器储存***100是固态硬盘(Solid State Drive,SSD),且是配置在主机***200中用作为主硬盘。但必须了解的是,在本发明另一实施例中快闪存储器储存***100亦可以是存储卡或随身盘。
控制器110会执行以硬件型式或固件型式实作的多个指令以配合连接器120、MLC NAND快闪存储器130、快取存储器140以及SLC NAND快闪存储器150来进行数据的储存、读取与擦除等运作。控制器110包括微处理器单元110a、存储器管理模块110b、快闪存储器接口模块110c、缓冲存储器110d与主机接口模块110e。
微处理器单元110a用以与存储器管理模块110b、快闪存储器接口模块110c、缓冲存储器110d与主机接口模块110e等协同合作以进行快闪存储器储存***100的各种运作。
存储器管理模块110b是耦接至微处理器单元110a。存储器管理模块110b具有可由微处理器单元110a执行的多个机器指令以管理MLC NAND快闪存储器130与SLC NAND快闪存储器150,例如区块管理功能、维护逻辑-物理区块对映表(mapping table)功能等的机器指令。特别是,在本发明实施例中,存储器管理模块110b包含可完成根据本实施例的数据写入步骤(如图3所示)的机器指令。
在本实施例中,存储器管理模块110b是以一固件型式实作在控制器110中,例如以程序语言撰写程序相关机械指令并且储存于程序存储器(例如,只读存储器(Read Only Memory,ROM))来实作存储器管理模块110b。当快闪存储器储存***1 00运作时,存储器管理模块110b的多个机器指令会间接地被载入至缓冲存储器110d中并且由微处理器单元110a来执行或直接由微处理器单元110a来执行以完成上述平均磨损功能、坏区块管理功能、维护逻辑-物理区块对映表功能等。特别是,控制器110藉由执行存储器管理模块110b的多个机械指令来此完成根据本发明实施例的数据写入步骤(如图3所示)。
在本发明另一实施例中,存储器管理模块110b的机械指令亦可以固件型式储存于MLC NAND快闪存储器1 30或SLC NAND快闪存储器150的特定区域(例如,快闪存储器中专用于存放***数据的***区)中。同样的,当快闪存储器储存***100运作时,存储器管理模块110b的多个机器指令会被载入至缓冲存储器110d中并且由微处理器单元110a来执行。此外,在本发明另一实施例中存储器管理模块110b亦可以一硬件型式实作在控制器110中。
快闪存储器接口模块110c是耦接至微处理器单元110a并且用以存取MLC NAND快闪存储器130与SLC NAND快闪存储器150。也就是,欲写入至MLC NAND快闪存储器130与SLC NAND快闪存储器150的数据会经由快闪存储器接口模块110c转换为MLC NAND快闪存储器130与SLCNAND快闪存储器150所能接受的格式。
缓冲存储器110d是耦接至微处理器单元110a并且用以暂时地储存***数据(例如逻辑-物理区块对映表)与存储器管理模块110b的机械指令。在本实施例中,缓冲存储器110d为静态随机存取存储器(static random accessmemory,SRAM)。然而,必须了解的是,本发明不限于此,动态随机存取存储器(Dynamic Random Access memory,DRAM)、磁阻式存储器(Magnetoresistive Random Access Memory,MRAM)、相变化存储器(PhaseChange Random Access Memory,PRAM)或其他适合的存储器亦可应用于本发明。
主机接口模块110e是耦接至微处理器单元110a并且用以接收与识别主机***200所传送的指令。也就是,主机***200所传送的指令与数据会通过主机接口模块110e来传送至微处理器单元110a。在本实施例中,主机接口模块110e为SATA接口。然而,必须了解的是本发明不限于此,主机接口模块110e亦可以是USB接口、IEEE 1394接口、PCI Express接口、MS接口、MMC接口、SD接口、CF接口、IDE接口或其他适合的数据传输接口。特别是,主机接口模块110e会与连接器120相对应。也就是,主机接口模块110e必须与连接器120互相搭配。
此外,虽未绘示于本实施例,但控制器110可还包括错误校正模块与电源管理模块等用于控制快闪存储器的一般功能模块。
连接器120用以通过总线300连接主机***200。在本实施例中,连接器120为SATA连接器。然而,必须了解的是本发明不限于此,连接器120亦可以是USB连接器、IEEE 1394连接器、PCI Express连接器、MS连接器、MMC连接器、SD连接器、CF连接器、IDE连接器或其他适合的连接器。
MLC NAND快闪存储器130是电性连接至控制器110并且用以储存数据。MLC NAND快闪存储器130会分割为多个物理区块(physical block),并且以轮替的方式对映逻辑区块来储存数据。一般而言,在快闪存储器中物理区块为擦除的最小单位。亦即,每一物理区块含有最小数目之一并被擦除的存储单元。每一物理区块通常会分割为数个页面地址(page)。页面地址通常为编程(program)的最小单元。但要特别说明的是于有些不同的快闪存储器设计,最小的编程单位也可为一个扇区(sector)。也就是说,一页面地址中有多个扇区并以一扇区为编程的最小单元。换言之,页面地址为写入数据或读取数据的最小单元。每一页面地址通常包括使用者数据区D与冗余区R。使用者数据区用以储存使用者的数据,而冗余区用以储存***的数据(例如,错误校正码(error correcting code,ECC))。
为对应于磁盘驱动器的扇区(sector)大小,一般而言,使用者数据区D通常为512字节,而冗余区R通常为16字节。也就是,一页为一个扇区。然而,亦可以多个扇区形成一页,例如一页包括4个扇区。
一般而言,物理区块可由任意数目的页面地址所组成,例如64个页面地址、128个页面地址、256个页面地址等。物理区块通常也可被分组为数个区域(zone),以区域来管理存储器某种程度上是彼此独立地操作以增加操作执行的平行程度且简化管理的复杂度。
值得一提的是,MLC NAND快闪存储器130的物理区块的编程可分为多阶段。例如,以4层存储单元为例,如图2A所示,物理区块的编程可分为2阶段。第一阶段是下页地址(lower page)的写入部分,其物理特性类似于单层存储单元(Single Level Cell,SLC)NAND快闪存储器,在完成第一阶段之后才会编程上页地址(upper page),其中下页地址的写入速度会快于上页地址。因此,如图2B所示每一物理区块的页面地址可区分为快慢页面(即,上页地址)与快速页面(即,下页地址)。类似地,在8层存储单元或16层存储单元的案例中,存储单元会包括更多个页面地址并且会以更多阶段来写入。在此,将写入速度最快的页面地址称为下页地址,其他写入速度较慢的页面地址统称为上页地址。例如,上页地址包括具有不同写入速度的多个页面。此外,在其他实施例中,上页地址也可为写入速度最慢的页面,或者写入速度最慢与部份写入速度快于写入速度最慢页面的页面。例如,在4层存储单元中,下页地址为写入速度最快与写入速度次快的页面,上页则为写入速度最慢与写入速度次慢的页面。
特别是,由于在本发明实施例中MLC NAND快闪存储器130的物理区块的多个页面地址可如上述区分为上页地址与下页地址,因此在存储器管理模块110b会包含有一页面地址查询表。此页面地址查询表会记录在每一区块中哪些页面地址属于上页地址以及哪些页面地址属于下页地址。必须了解的是,图2B所示的上页地址与下页地址的配置仅为范例,本发明不限于此。因此,在使用不同上页与下页地址的配置的MLC NAND快闪存储器时可使用上述页面地址查询表来记录。
如上所述,虽然MLC NAND快闪存储器的容量大于SLC NAND快闪存储器,但MLC NAND快闪存储器的有些页面地址是属于写入速度较慢的上页地址,因此MLC NAND快闪存储器的写入速度会慢于SLC NAND快闪存储器,特别是当MLC NAND快闪存储器的层数越多时其写入速度会越慢于SLC NAND快闪存储器。
基于上述理由,在本实施例中为了提升快闪存储器储存***100的效能,快闪存储器储存***100中会配置快取存储器140来快速与暂时地储存主机***200所传送的数据。之后,控制器110会利用快闪存储器储存***1 00的非忙碌时间将数据从快取存储器140中写入至MLC NAND快闪存储器130中。
请参照图1,快取存储器140是电性连接至控制器110。在本实施例中,快取存储器140为动态随机存取存储器(Dynamic Random Access Memory,DRAM)。然而,本发明不限于此,在本发明另一实施例中亦可使用双倍数据传输率动态随机存取存储器(Double Data Rate DRAM,DDR DRAM)作为快取存储器140。值得一提的是,在考虑快闪存储器储存***100的成本与尺寸下,快取存储器140的储存空间一般不会太大,例如在本实施例中是使用64Mb的DRAM作为快取存储器140。
SLC NAND快闪存储器150是电性连接至控制器110并且具有多个物理区块。SLC NAND快闪存储器150的物理区块的管理方式是类似于MLCNAND快闪存储器130,因此在此不再重复说明。SLC NAND快闪存储器150与MLC NAND快闪存储器130不同之处在于SLC NAND快闪存储器150的物理区块的编程仅为单阶,因此SLC NAND快闪存储器150的写入速度与稳定度会高于MLC NAND快闪存储器130。
在本实施例中SLC NAND快闪存储器150是用以暂时地储存快取存储器140所储存的数据。具体来说,当主机***200对快闪存储器储存***100下达清除指令时控制器110会将快取存储器140中的数据写入至SLCNAND快闪存储器150中。如上所述,由于SLC NAND快闪存储器150的写入速度会高于MLC NAND快闪存储器130,基此可快速地暂存快取存储器140中的数据,以避免主机***200在下达清除指令后造成主机***200运作上的延迟。此外,SLC NAND快闪存储器150是非易失性存储器,因此在主机***200关机后所暂存的数据可被保留,并且在主机***200再次开机时所暂存的数据会被重新载入至快取存储器140中以利快闪存储器储存***100继续运作,或者在本发明另一实施例中当主机***200再次开机启动时暂存至SLC NAND快闪存储器150中的数据会被写入至MLCNAND快闪存储器130以完成快闪存储器储存***100于关机前应执行而未执行的写入运作,并且在将数据从SLC NAND快闪存储器150中直接写入至MLC NAND快闪存储器130后SLC NAND快闪存储器150中所暂存的数据就可进行删除或继续保留。
在本实施例中,SLC NAND快闪存储器150暂存快取存储器140的数据是用以避免快取存储器140中的数据因主机***200执行关机指令或清除指令而遗失,因此将数据暂存于快取存储器140中也可视为一种将数据作备份的动作。特别是,当将在快取存储器140中的数据暂存于SLC NAND快闪存储器150后,倘若快取存储器140中的数据未被删除,控制器100仍会继续从快取存储器140中写入数据至MLC NAND快闪存储器130。
值得一提的是,SLC NAND快闪存储器150的物理区块是以轮替方式储存数据。也就是,控制器110会先从SLC NAND快闪存储器150的备用区中提取一物理区块并且将在数据区中欲写入的物理区块中的有效旧数据与欲写入的新数据写入至从备用区中提取的物理区块并且将已写入新数据的物理区块关联为数据区,并且然后才将原本数据区的物理区块进行擦除并关联为备用区。基于此理由,在本实施例中SLC NAND快闪存储器150的储存空间是快取存储器140的两倍,例如SLC NAND快闪存储器1 50为128MB。由此,SLC NAND快闪存储器150才能够可靠地暂存快取存储器140中的所有数据。
图3是根据本发明第一实施例绘示数据写入步骤的流程图,其中这些步骤是控制器110的微处理器单元110a执行存储器管理模块110b的机械指令所完成。
请参照图3,在步骤S301中会待命与接收主机***200的写入指令与数据。必须了解的是,在此流程图中仅描述快闪存储器储存***100针对写入指令所执行的步骤,因此在步骤S301中仅于接收到写入指令时才产生后续的运作。
在步骤S303中,从主机***200中所接收的数据会暂时地储存在快取存储器140中。特别是,在将数据储存至快取存储器140后,快闪存储器储存***100会回应主机***200已完成此写入指令,并且在快闪存储器储存***100的非忙碌期间(例如,主机***200已一段时间(例如,30秒)未对快闪储存***100下达写入指令,或控制器110使用效能低于一特定阈值)将暂存于快取快取存储器140中的数据写入或整理至MLC NAND快闪存储器130。
接着,在步骤S305中会判断是否接收到主机***200的清除指令。倘若在步骤S305中判断接收到清除指令时,则在步骤S307中会将快取存储器140中的数据暂时地暂存至SLC NAND快闪存储器150中。之后,运作步骤会返回至步骤S301,并且数据写入步骤会在快闪存储器储存***100关机时结束。
在本发明另一实施例中,上述数据写入步骤还包括在步骤S301之后判断快取存储器140的所有储存空间是否都已经储存数据(步骤S361),倘若在快取存储器140的所有储存空间都已经储存数据时,控制器110会可快速地先将快取存储器140中的数据暂存至SLC NAND快闪存储器150(步骤S363)中,然后空出快取存储器140的储存空间以执行主机***200的写入指令。之后,在于快闪存储器储存***100的非忙碌时间(例如,主机***200已一段时间(例如,30秒)未对快闪储存***100下达写入指令,或控制器110使用效能低于一特定阈值)将暂存至SLC NAND快闪存储器150中写入或整理至MLC NAND快闪存储器中。
值得一提的是,在当下达清除指令后主机***200即执行关机时,快闪存储器储存***100会在重新启动时确认SLC NAND快闪存储器150中是否存有数据。因此,在步骤S301之前还包括在步骤S351中判断SLCNAND快闪存储器150中是否储存有前次关机前所暂存的数据。
倘若在步骤S351中判断SLC NAND快闪存储器150中储存有前次运作所暂存的数据时,则在步骤S353中会将SLC NAND快闪存储器150中的数据重新载入至快取存储器140中以恢复快闪存储器储存***100于关机前的运作状态。
另外,在本发明另一实施例中亦可在判断SLC NAND快闪存储器150中储存有前次关机前所暂存的数据时,直接从SLC NAND快闪存储器150中将所暂存的数据写入至MLC NAND快闪存储器130中,以完成快闪存储器储存***100于前次关机前应执行而未执行的写入运作。。
藉由速度快于MLC NAND快闪存储器130的SLC NAND快闪存储器150作为快取存储器140的暂存区域,可有效地缩短当快闪存储器储存***100接收到清除指令时储存快取存储器140中的数据的时间。
[第二实施例]
图5是根据本发明第二实施例绘示快闪存储器储存***的概要方块图。请参照图5,快闪存储器储存***400包括控制器410、连接器420、MLCNAND快闪存储器430以及快取存储器440,其中快闪存储器储存***400为固态硬盘(Solid State Drive,SSD)。
控制器410、连接器420与快取存储器440的硬件结构是相同于第一实施例的控制器110、连接器120与快取存储器140,在此不再重复描述。
值得一提的是,快闪存储器储存***400具有不同于快闪存储器储存***100的硬件配置,因此控制器410的存储器管理模块410b具有执行根据本发明实施例的数据写入步骤(如图6所示)的机械指令。除此之外,控制器410的微处理器单元410a、快闪存储器接口模块410c、缓冲存储器410d与主机接口模块410e是分别地相同于控制器110的微处理器单元110a、快闪存储器接口模块110c、缓冲存储器110d与主机接口模块110e,在此不再重复描述。
MLC NAND快闪存储器430是电性连接至控制器410并且用以储存数据。相同于第一实施例的MLC NAND快闪存储器130,MLC NAND快闪存储器430亦包括多个物理区块,并且以轮替的方式对映逻辑区块来储存数据。此外,MLC NAND快闪存储器430的物理区块的页面地址可区分为上页地址与下页地址。
在本实施例中,MLC NAND快闪存储器430会被分割为缓冲储存区域430a与数据储存区域430b,其中在数据储存区域430b中控制器110会同时使用上页地址与下页地址来储存数据,而在缓冲储存区域430a中控制器110仅会使用下页地址来储存数据。如上所述,MLC NAND快闪存储器的物理区块的下页地址的编程是类似SLC NAND快闪存储器,因此仅使用下页地址的缓冲储存区域430a的写入速度与稳定度会高于同时使用上页地址与下页地址的数据储存区域430b。
特别是,在本实施例中数据储存区域430b是用以正常地储存使用者数据的区域,而缓冲储存区域430a则是用以暂时地储存快取存储器440中的数据。也就是说,缓冲储存区域430a是用以提供类似第一实施例的SLCNAND快闪存储器150所提供的功能。类似在第一实施例中所述的理由,在本实施例中缓冲储存区域430a的储存空间会配置为快取存储器440的两倍。
具体来说,当主机***200对快闪存储器储存***400下达清除指令时控制器410会将快取存储器440中的数据写入至缓冲储存区域430a。如上所述,由于缓冲储存区域430a的写入速度会高于数据储存区域430b,因此可快速地暂存暂存于快取存储器440中的数据,以避免主机***200在下达清除指令后造成主机***200运作上的延迟。
此外,在主机***200于关机后再次开机时暂存在缓冲储存区域430a的数据会被重新载入至快取存储器140中以使快闪存储器储存***400继续运作,或者在本发明另一实施例中当主机***200再次开机时暂存至缓冲储存区域430a中的数据会被写入或整理至数据储存区域430b以完成快闪存储器储存***400于关机前应执行而未执行的写入运作。
图6是根据本发明第二实施例绘示数据写入步骤的流程图,其中这些步骤是控制器410的微处理器单元110a执行存储器管理模块410b的机械指令所完成。
请参照图6,在步骤S501中会待命与接收主机***200的写入指令与数据。接着,在步骤S503中,将所接收的数据暂时地储存在快取存储器440中,期间控制器410会利用快闪存储器储存***410的非忙碌时间将所暂存的数据从快闪存储器440中写入至数据储存区域430b。
接着,在步骤S305中会判断是否接收到主机***200的清除指令。倘若在步骤S305中判断接收到清除指令时,则在步骤S307中会将快取存储器440中的数据暂时地暂存至缓冲储存区域430a中。
在本发明一实施例中,当在快取存储器440的所有储存空间都已经储存数据的状态下快闪存储器储存***400接收到主机***200的写入指令时,控制器410亦可快速地先将快取存储器440中的数据暂存至缓冲储存区域430a中。之后,在于快闪存储器储存***400的非忙碌时间,控制器410可将暂存至缓冲储存区域430a中搬移至数据储存区域430b中。
同样地,在步骤S501之前还包括在步骤S551中判断缓冲储存区域430a中是否储存有快闪存储器储存***400于前次关机前所暂存的数据。
倘若在步骤S551中判断缓冲储存区域430a中储存有前次关机前所暂存的数据时,则在步骤S553中会将此备用的数据重新载入至快取存储器440中以恢复快闪存储器储存***400于关机前的运作状态。
藉由速度快于数据储存区域430b的缓冲储存区域430a作为快取存储器440的暂存区域,可有效地缩短当快闪存储器储存***400接收到清除指令而整理快取存储器440中的数据的时间。
综上所述,本发明在MLC NAND快闪存储器储存***中配置一个写入速度较快的存储器作为快取存储器的暂存暂存区,基此,可以缩短整理快取存储器140中的数据的时间,由此避免***的延迟。特别是,目前固态硬盘广泛应用为电脑***的主硬盘时,更能有效地提升电脑***的运作效能。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (21)
1.一种快闪存储器储存***,包括:
一控制器;
一连接器,电性连接至该控制器;
一快取存储器,电性连接至该控制器;
一单层存储单元“与非”快闪存储器,电性连接至该控制器;以及
一多层存储单元“与非”快闪存储器,电性连接至该控制器,
其中当该控制器通过该连接器从一主机中接收到欲写入至该多层存储单元“与非”快闪存储器的数据时,该控制器会将该数据暂时地储存在该快取存储器中并且之后将该数据从该快取存储器中写入至该多层存储单元“与非”快闪存储器中,
其中该控制器会在该单层存储单元“与非”快闪存储器中暂存在该快取存储器中所储存的数据,
其中该控制器会将暂存在该单层存储单元“与非”快闪存储器中的数据写入至该多层存储单元“与非”快闪存储器。
2.如权利要求1所述的快闪存储器储存***,其中该控制器会在接收到该主机的一清除指令时将该快取存储器中所储存的数据暂存至该单层存储单元“与非”快闪存储器中。
3.如权利要求2所述的快闪存储器储存***,其中该控制器会将暂存在该单层存储单元“与非”快闪存储器中的数据重新载入至该快取存储器中。
4.如权利要求1所述的快闪存储器储存***,其中该控制器会在该快取存储器的容量都已储存数据时将该快取存储器中所储存的数据暂存至该单层存储单元“与非”快闪存储器中。
5.如权利要求1所述的快闪存储器储存***,其中该单层存储单元“与非”快闪存储器的容量是该快取存储器的容量的两倍。
6.如权利要求1所述的快闪存储器储存***,其中该快取存储器为一动态随机存取存储器或一双倍数据传输率动态随机存取存储器。
7.一种数据写入方法,适用于具有一快取存储器、一单层存储单元“与非”快闪存储器与一多层存储单元“与非”快闪存储器的一快闪存储器储存***,该数据写入方法包括:
将欲写入至该快闪存储器储存***的数据暂时地储存在该快取存储器中,并且将该数据从该快取存储器中写入至该多层存储单元“与非”快闪存储器中;
在该单层存储单元“与非”快闪存储器中暂存在该快取存储器中所储存的数据;以及
将暂存在该单层存储单元“与非”快闪存储器中的数据写入至该多层存储单元“与非”快闪存储器中。
8.如权利要求7所述的数据写入方法,其中在该单层存储单元“与非”快闪存储器中暂存在该快取存储器中所储存的数据的步骤包括在接收到该主机的一清除指令时将该快取存储器中的数据暂存至该单层存储单元“与非”快闪存储器中。
9.如权利要求8所述的数据写入方法,还包括将暂存在该单层存储单元“与非”快闪存储器中的数据重新载入至该快取存储器中。
10.如权利要求7所述的数据写入方法,其中在该单层存储单元“与非”快闪存储器中暂存在该快取存储器中所储存的数据的步骤包括在该快取存储器的容量都已储存数据时将该快取存储器中所储存的数据暂存至该单层存储单元“与非”快闪存储器中。
11.一种快闪存储器储存***,包括:
一控制器;
一连接器,电性连接至该控制器;
一快取存储器,电性连接至该控制器;以及
一多层存储单元“与非”快闪存储器,电性连接至该控制器并且分割为一缓冲储存区域与一数据储存区域,
其中该缓冲储存区域与该数据储存区域分别地具有多个物理区块且每一物理区块包括一下页地址与一上页地址,
其中当该控制器通过该连接器从一主机中接收到欲写入至该多层存储单元“与非”快闪存储器的数据时,该控制器会将该数据暂时地储存在该快取存储器中并且之后将该数据从该快取存储器中写入至该数据储存区域中,
其中该控制器会在该缓冲储存区域的下页地址中暂时地暂存在该快取存储器中所储存的数据,
其中该控制器会将暂存在该缓冲储存区域的下页地址中的数据写入至该数据储存区域中。
12.如权利要求11所述的快闪存储器储存***,其中该控制器会在接收到该主机的一清除指令时将该快取存储器中所储存的数据暂存至该缓冲储存区域的下页地址中。
13.如权利要求12所述的快闪存储器储存***,其中该控制器会将暂存在该缓冲储存区域的下页地址中的数据重新载入至该快取存储器中。
14..如权利要求11所述的快闪存储器储存***,其中该控制器会在该快取存储器的容量都已储存数据时将该快取存储器中所储存的数据暂存至该缓冲储存区域的下页地址中。
15.如权利要求11所述的快闪存储器储存***,其中该缓冲储存区域的下页地址的容量是该快取存储器的容量的两倍。
16.如权利要求11所述的快闪存储器储存***,其中该快取存储器为一动态随机存取存储器或一双倍数据传输率动态随机存取存储器。
17.一种数据写入方法,适用于具有一快取存储器与一多层存储单元“与非”快闪存储器的一快闪存储器储存***,其中该多层存储单元“与非”快闪存储器具有一缓冲储存区域与一数据储存区域,该缓冲储存区域与该数据储存区域分别地具有多个物理区块且每一物理区块包括一下页地址与一上页地址,该数据写入方法包括:
将欲写入至该快闪存储器储存***的数据暂时地储存在该快取存储器中,并且将该数据从该快取存储器中写入至该多层存储单元“与非”快闪存储器的数据储存区域中;
在该缓冲储存区域的下页地址中暂存储存在该快取存储器中的数据;以及
将暂存在该缓冲储存区域的下页地址中的数据写入至该多层存储单元“与非”快闪存储器的数据储存区中。
18.如权利要求17所述的数据写入方法,其中在该缓冲储存区域的下页地址中暂存在该快取存储器中所储存的数据的步骤包括在接收到该主机的一清除指令时将该快取存储器中的数据暂存至该缓冲储存区域的下页地址中。
19.如权利要求18所述的数据写入方法,还包括将暂存在该缓冲储存区域的下页地址中的数据重新载入至该快取存储器中。
20.如权利要求17所述的数据写入方法,其中在该缓冲储存区域的下页地址中暂存在该快取存储器中所储存的数据的步骤包括在该快取存储器的容量都已储存数据时将该快取存储器中所储存的数据暂存至该缓冲储存区域的下页地址中。
21.一种快闪存储器储存***,包括:
一控制器;
一连接器,电性连接至该控制器;
一快取存储器,电性连接至该控制器;
一第一非易失性存储器,电性连接至该控制器;以及
一第二非易失性存储器,电性连接至该控制器,
其中当该控制器通过该连接器从一主机中接收到欲写入至该第二非易失性存储器的数据时,该控制器会将该数据暂时地储存在该快取存储器中并且之后将该数据从该快取存储器中写入至该第二非易失性存储器中,并且
其中该控制器会在该第一非易失性存储器中暂存在该快取存储器中所储存的数据,
其中该控制器会将暂存在该第一非易失性存储器中的数据写入至该第二非易失性存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101445755A CN101656104B (zh) | 2008-08-22 | 2008-08-22 | 快闪存储器储存***及其数据写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101445755A CN101656104B (zh) | 2008-08-22 | 2008-08-22 | 快闪存储器储存***及其数据写入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101656104A CN101656104A (zh) | 2010-02-24 |
CN101656104B true CN101656104B (zh) | 2012-07-04 |
Family
ID=41710345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101445755A Active CN101656104B (zh) | 2008-08-22 | 2008-08-22 | 快闪存储器储存***及其数据写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101656104B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591748A (zh) * | 2011-12-29 | 2012-07-18 | 记忆科技(深圳)有限公司 | 固态硬盘及其掉电保护方法、*** |
CN110175088B (zh) * | 2013-08-23 | 2022-11-11 | 慧荣科技股份有限公司 | 存取快闪存储器中储存单元的方法以及使用该方法的装置 |
CN103927262A (zh) * | 2014-03-21 | 2014-07-16 | 深圳市硅格半导体有限公司 | 闪存物理块的控制方法及装置 |
CN104035897B (zh) * | 2014-06-12 | 2018-04-24 | 上海新储集成电路有限公司 | 一种存储控制器 |
CN105808371A (zh) * | 2014-12-31 | 2016-07-27 | 深圳市硅格半导体有限公司 | 数据备份与恢复方法、控制芯片及存储装置 |
CN107402716B (zh) * | 2016-05-20 | 2021-06-08 | 合肥兆芯电子有限公司 | 数据写入方法、存储器控制电路单元与存储器储存装置 |
CN107544748B (zh) * | 2016-06-28 | 2020-06-16 | 建兴储存科技(广州)有限公司 | 固态储存装置及其数据写入方法 |
TWI652577B (zh) * | 2017-06-19 | 2019-03-01 | 慧榮科技股份有限公司 | 資料儲存裝置及非揮發式記憶體操作方法 |
TWI630540B (zh) * | 2017-07-13 | 2018-07-21 | 慧榮科技股份有限公司 | 資料儲存裝置及非揮發式記憶體操作方法 |
CN107943713A (zh) * | 2017-11-22 | 2018-04-20 | 深圳忆联信息***有限公司 | 一种提升固态硬盘读性能的方法及固态硬盘 |
CN109949850A (zh) * | 2017-12-21 | 2019-06-28 | 光宝电子(广州)有限公司 | 储存***与储存方法 |
CN111562880A (zh) | 2019-02-14 | 2020-08-21 | 英韧科技(上海)有限公司 | 一种数据存储装置、***及数据写入方法 |
US11409471B2 (en) * | 2020-03-02 | 2022-08-09 | Silicon Motion, Inc. | Method and apparatus for performing data access management of all flash array server |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1892912A (zh) * | 2005-07-04 | 2007-01-10 | 三星电子株式会社 | 页面缓冲器和非易失性存储器设备 |
TW200820259A (en) * | 2006-10-25 | 2008-05-01 | Samsung Electronics Co Ltd | Hybrid flash memory device and method for assigning reserved blocks thereof |
-
2008
- 2008-08-22 CN CN2008101445755A patent/CN101656104B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1892912A (zh) * | 2005-07-04 | 2007-01-10 | 三星电子株式会社 | 页面缓冲器和非易失性存储器设备 |
TW200820259A (en) * | 2006-10-25 | 2008-05-01 | Samsung Electronics Co Ltd | Hybrid flash memory device and method for assigning reserved blocks thereof |
Also Published As
Publication number | Publication date |
---|---|
CN101656104A (zh) | 2010-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101656104B (zh) | 快闪存储器储存***及其数据写入方法 | |
CN101483067B (zh) | 快闪存储器数据写入方法及其快闪存储器控制器 | |
TWI385516B (zh) | 快閃記憶體儲存系統及其資料寫入方法 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存***与控制器 | |
TWI405209B (zh) | 資料管理方法及使用此方法的快閃儲存系統與控制器 | |
CN101640069B (zh) | 用于闪速存储器的平均磨损方法与平均磨损*** | |
CN101634967B (zh) | 用于闪存的区块管理方法、储存***与控制器 | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存*** | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
CN101859604A (zh) | 闪存坏块的利用方法 | |
CN101963891A (zh) | 数据存储处理方法与装置、固态硬盘***与数据处理*** | |
CN102073600B (zh) | 数据备份方法、闪存控制器及闪存储存*** | |
JP2010211734A (ja) | 不揮発性メモリを用いた記憶装置 | |
CN101571832A (zh) | 数据写入方法及使用该方法的快闪存储***与其控制器 | |
CN101667157A (zh) | 闪存数据传输方法、闪存储存***及控制器 | |
CN101567220A (zh) | 闪存的损坏区块辨识方法、储存***及其控制器 | |
CN109117383A (zh) | 管理闪存模块的方法和闪存控制器 | |
US9384125B2 (en) | Method for accessing flash memory having pages used for data backup and associated memory device | |
CN101661431B (zh) | 用于快闪存储器的区块管理方法、快闪储存***及控制器 | |
CN101727397B (zh) | 区块管理与更换方法、闪存储存***及其控制器 | |
TWI673716B (zh) | 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置 | |
CN101425334B (zh) | 一种实现nor flash坏块管理的方法及其控制电路 | |
CN101661432B (zh) | 闪存区块管理方法、闪存储存***及控制器 | |
CN201156432Y (zh) | 一种实现nor flash坏块管理的控制电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |