CN101464836B - 闪存储存装置的数据储存方法 - Google Patents
闪存储存装置的数据储存方法 Download PDFInfo
- Publication number
- CN101464836B CN101464836B CN2007103022229A CN200710302222A CN101464836B CN 101464836 B CN101464836 B CN 101464836B CN 2007103022229 A CN2007103022229 A CN 2007103022229A CN 200710302222 A CN200710302222 A CN 200710302222A CN 101464836 B CN101464836 B CN 101464836B
- Authority
- CN
- China
- Prior art keywords
- data
- forms
- flash memory
- sector number
- logical block
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明提供一种闪存储存装置的数据储存方法,是在储存装置内的内存中规划地址暂存区,用以储存数据的信息,当外部主机储存一笔第一数据至该储存装置时,通过该地址暂存区判断该笔数据是否为连续数据的其中一笔,若是,则表示该笔数据传输完毕后还有接续的第二数据、第三数据等,故不在该笔第一数据存入该储存装置内的闪存中时,立刻进行重整,而是等待该笔连续数据全部传输完毕,再进行重整,借以有效降低该闪存的抹除次数。
Description
技术领域
本发明涉及储存装置,尤其涉及一种闪存储存装置。
背景技术
近年来,闪存(Flash memory)的发展非常迅速,其在储存装置上的运用也日新月异,各式记忆卡(Memory card)、随身碟(Flash drive)的普及已不在话下,然而随着闪存的技术日趋成熟,成本逐日降低,各厂商也开始投入大量资源研究闪存更广泛的运用,如固态硬盘(SSD,Solid-State Disk)即为一例,SSD为以闪存做储存媒体的纯电子式硬盘机,而其依旧保有闪存存取速度快、低耗电量、低发热量、重量轻、低震动与耐震动等特性,可应用于传统磁性硬盘机无法胜任的恶劣环境中,甚至具有取代传统磁性硬盘机的潜力。
闪存本身具有一个明显的缺点,即使用寿命有其一定限制,是对应于其抹除(Erase)的次数而定,目前闪存的可抹除次数因制造厂商的不同而略有出入,平均约在10万次左右,且抹除次数越趋近极限,其所储存的数据越不稳定。因此,若不能延长闪存的使用寿命,将会为使用闪存的储存装置产生极大的限制及置换成本。而以上述的固态硬盘为例,若用以储存操作系统(OS,OperatingSystem),则其数据的存取量及传输量又将比没有储存OS的储存装置(例如随身碟、记忆卡)大上许多,抹除次数也会增加,因此,在闪存的硬件制程尚未有突破性进步的前提下,唯有不断改良现已存在的储存方法,才能有效将抹除次数降到最低,使闪存的运用更为广泛且不受限制。
闪存的最小单位是页面(Page),两个或两个以上页面组成一个区块(Block)。而对闪存而言,储存与读取都是以页面为单位,而抹除则是以区块为单位。闪存有一个著名的特色,即是写入前抹除(Erase before write),即,只有被抹除过的空白区块,其内部的页面才可被写入新的数据。
公知的闪存储存装置储存方法如图1所示,参照步骤S11:当储存装置接收到由外部主机所传送的储存指令时,同时接收到逻辑区块地址(LBA),此时,执行步骤S12:该储存装置借由逻辑与实体地址对应窗体(L2P Table,Logical to Physical Table),寻找出该储存装置内的闪存内部对应于该LBA的实体区块地址。接着,执行步骤S13:将对应至该LBA的区块当作旧区块,并找到一个空白的新区块,执行步骤S14:先执行第一次反向复制(Copy back)(详如下述),接着执行步骤S15:将该主机传送过来的数据写入该新区块后,执行步骤S16:再执行第二次反向复制。当新区块写入完毕后,即执行步骤S17:修改该L2P窗体,使该LBA对应至该新区块,接着执行步骤S18:将该旧区块抹除,使其成为空白的区块,以便后续其它数据的储存。最后,执行步骤S19:判断该主机欲传输的数据是否全部传送完毕,若数据未传送完毕,则转步骤S12,直到全部数据都传送完毕,才可停止。
例如,一个区块具有64个页面,而该储存装置所接收的LBA,是对应至该闪存中的第10区块内的第11页面到第42页面。该储存装置先在该闪存中找到一个完全空白的新区块,例如第100区块,此时,因为该储存装置无法判断该第10区块中的第0页面至第10页面是否存有数据,故,需先进行第一次反向复制,即将该第10区块内的第0页面至第10页面内的数据,复制至该第100区块的第0页面至第10页面内。复制完毕后,再将主机传输过来的数据,写入该第100区块内的第11页面至第42页面的位置。接着,因该储存装置也无法判断该第10区块内的第43页面至第63页面内是否存有数据,故需进行第二次的反向复制,将该第10区块内的第43页面至第63页面内的数据,写入该第100区块内的第43页面至第63页面。而在写入完毕后,将旧的区块,即该第10区块抹除,成为一个完全空白的新区块,供后续其它数据写入时运用。
上述的公知储存方法具有一个相当重大的缺点,使用该种方法,只要写入一笔数据至闪存,即需抹除一个区块一次,故将会使得闪存的抹除次数严重浪费。例如,若该储存装置先后收到三笔数据,分别对应至该闪存内的第10区块的第11页面至第15页面、第16页面至第20页面,及第21页面至第26页面时,虽然该三笔数据为连续性的数据,但因该三笔数据是分开传送,故该储存装置并无法得知该三笔数据为连续,必须将该三笔数据分三次写入,因此,即需重复执行上述的流程三次,即,需先后抹除三个区块共三次。但因该三笔数据为连续的数据,故若能使该三笔连续数据循序写入后再执行反向复制,则只需抹除一个区块,减少两次抹除次数的浪费。而若该笔写入的连续性数据量非常大,则浪费掉的抹除次数即非常的可观。
发明内容
有鉴于此,本发明的主要目的,在于提供一种提高闪存储存装置的使用寿命的闪存储存装置的数据储存方法。
为达上述目的,本发明一种闪存储存装置的数据储存方法,包括:
a)在储存装置内的内存内,规划地址暂存区,该地址暂存区内部规划为两个或两个以上由用以储存数据的逻辑区块地址的逻辑区块地址字段、用以储存数据的总区段数的区段数字段及用以储存判断参数的使用字段所组成的窗体;
b)外部主机发出至少一个具有一笔数据的逻辑区块地址及总区段数的储存指令至该储存装置,并储存于该地址暂存区内;
c)借由该笔数据的逻辑区块地址及总区段数,判断该笔数据是否为连续性数据的其中一笔;
d)若该笔数据为连续性数据的其中一笔,更新该地址暂存区中,对应于该笔数据的窗体,并将该笔数据写入该储存装置内的闪存内的空白区块,等待该连续性数据全部写入后,再执行反向复制;
e)若该笔数据并非连续性数据的其中一笔,在该笔数据写入该闪存内的空白区块后即进行反向复制;
f)当该储存装置的硬件条件符合,或收到该外部主机的控制指令时,对该闪存执行反向复制。
由上述方案可知,本发明使储存装置在写入数据时,能够判断数据为连续性数据或随机数据,若储存的为连续性的数据,且后面尚有接续的数据,则不在储存完后立刻做反向复制(Copy back)的动作,在该笔连续性数据全部储存完毕后再执行,其可有效区分连续性数据与随机数据并加以储存,借以避免该闪存的抹除次数的浪费。
附图说明
图1为公知闪存储存装置的储存流程图;
图2为本发明储存装置的结构图;
图3为本发明内存内部配置图。
图4为本发明第一实施例的储存流程图;
图5为本发明储存装置的另一结构图;
图6为本发明附加内存的内部配置图;
图7为本发明第二实施例的储存流程图。
附图标记说明
1 储存装置 11 处理器 12 内存
121 地址暂存区 12a LBA字段 12b区段数字段
12c 使用字段 13 闪存 14 程序单元
15 附加内存 151管理区 152数据暂存区
15a LBA字段 15b内存位置字段
15c 修改字段 15d读取字段
16 充电装置
2 外部主机
S11~S19,S21~S29,S2a~S2f,S3 1~S39,S3a~S3q步骤
具体实施方式
现就本发明的较佳实施例,配合附图,详细说明如后。
第一实施例
首先请参阅图2,为本发明储存装置的结构图,该储存装置1主要包括处理器11,随机存取内存(RAM,Random Access Memory)12、闪存(Flash Memory)13,及程序单元14。其中,该程序单元14为韧体程序,储存于该储存装置1内的只读存储器(ROM,Read Only Memory)或该闪存13中,但不可加以限定。
当外部主机2连接该储存装置1,欲储存数据至该储存装置1时,该外部主机2发出至少一个具有一笔数据的逻辑区块地址及总区段数的储存指令至该储存装置1,并储存于地址暂存区内,该处理器11接收该主机2所发出的储存指令及逻辑区块地址(LBA,Logical Block Address),该处理器11收到该储存指令后,启动该程序单元14,该程序单元14分析该笔数据的信息后,通过该内存12内的该地址暂存区121(如图3所示)中所储存的各数据的信息,将该笔数据以最合适的方式,写入该闪存13中,对应至该LBA的实体区块地址。
图3为本发明内存内部配置图,该储存装置1内的该内存(RAM)12,其内部主要规划有地址暂存区121,而该地址暂存区121可规划为两个或两个以上由LBA字段12a、区段数字段12b及使用字段12c所组成的窗体,每一个窗体分别用以对应一笔大小为一个区段的数据。该LBA字段12a用以储存数据的LBA,该区段数字段12b用以储存数据的总区段数,而该使用字段12c用以储存判断参数,借以判断此窗体是否已被参考过。
闪存写入的最小单位为页面,而页面的大小与半导体的颗粒大小有关,下述将以一个页面大小512字节(Bytes)为例,刚好等于一个区段的大小,而区段即为计算机传输时的最小单位。例如,当第一数据被写入时,该程序单元14分析该第一数据的信息,发现该第一数据的LBA为100,总区段数为128,即在该内存12内的该地址暂存区121内新增窗体,将该笔数据的LBA与总区段数,写入该窗体中的LBA字段12a及区段数字段12b,并将使用字段12c设为0。接着,当再有第二数据写入,且该程序单元14分析出该第二数据的LBA为228时,因为上述第一数据的LBA为100,而区段数为128,即,该第一数据是由LBA为100的位置开始,连续写了128页,而该第二数据的LBA为228,因此,该程序单元14即判断该第二数据为该第一数据的后续数据,并在储存与反向复制动作执行完成后,把对应至该第二数据的窗体,即该第一数据的窗体内的使用字段12c设为1,表示该第一数据已被参考过,即,已接收到该第一数据的接续数据。下次搜寻动作开始,即不再搜寻该窗体,借以加快搜寻的动作。
g)本发明的储存方法,主要是借由写入数据的逻辑区块地址及总区段数,判断写入的数据是否为连续性数据的其中一笔,若该笔数据为连续性数据的其中一笔,更新该地址暂存区中,该笔数据可参考的窗体,并将该笔数据写入该储存装置内的闪存内的空白区块,等待该连续性数据全部写入后,再执行反向复制;若该笔数据并非连续性数据的其中一笔,在该笔数据写入该闪存内的空白区块后即进行反向复制;若写入的数据为连续性数据的最后一笔,则表示该笔连续性数据已写入完毕,此时即直接进行反向复制,而不再等待其它条件或指令,详细说明如下。
对计算机主机而言,在传输数据时,为了要维持传输的速度,每笔传输数据的总区段数都会相同,下述称为临界值(Threshold)。但是,在不同的操作系统、或操作系统下的不同格式,会具有不同的临界值,因此,该临界值必须经由统计并校正来取得。而统计的方法是在韧体内设置变量,当该主机传送一笔数据至该储存装置并加以储存后,需接着判断该笔数据的总区段数是否符合该临界值,借以断定该笔数据是否为连续性数据的其中一笔,因此,需比较该变量与该笔数据的总区段数,若该变量小于该总区段数,即表示该变量所记载的数值并非是该系统下的临界值,即将该变量的数值更改为该总区段数。而经过多次的校正之后,即会得到稳定的临界值。但此仅为较佳的实施方式,不加以限定。例如在微软公司的Windows XP操作系统下使用32位数据配置表(FAT32,File Allocation Table-32bit)格式的主机下,每笔传输数据的总区段数都维持在128个区段;而在使用新的技术档案系统(NTFS,New TechnologyFile System)格式的主机下,每笔传输数据的总区段数都维持在64个区段。只有当主机所传输的数据是一笔未满该临界值大小的随机数据,或连续性数据的最后一笔时,才可能会小于该临界值。但此仅为本发明的较佳具体实施例,不可加以限定。
故,若该储存装置1接收一笔数据,且该程序单元14得知该笔数据的总区段数等于该临界值,则该数据极有可能为连续性数据的其中一笔,且可能具有接续的下一笔数据尚未写入,因此,不在该笔数据写入后,立即进行反向复制;反之,若接收的数据区段数小于该临界值,则该数据可能为随机数据,或者,连续性数据的最后一笔,此时,即在该笔数据写入后,立即进行反向复制,将数据重整,使该闪存13中的区块,不致被尚未执行反向复制的数据占满,产生没有区块可用以储存数据,或提供数据用以重整的情形。详细说明如下述图4的储存流程图。
如图4所示,为本发明第一实施例的储存流程图,参照步骤S21:当外部主机2欲储存一笔数据至该储存装置1时,该储存装置1收到该笔数据的储存指令及LBA,接着执行步骤S22:取得该笔数据的总区段数,判断该数据的总区段数大小是否等于临界值,若该笔数据的总区段数等于该临界值,执行步骤S23:该程序单元14检查该地址暂存区121内是否具有该笔数据的LBA可参考的第一窗体,若没有,则表示该笔数据为连续性数据的第一笔,即执行步骤S24:在该地址暂存区121内新增第一窗体,将该笔数据的LBA写入该第一窗体内的LBA字段12a,总区段数写入区段数字段12b,而将使用字段12c设为0,并执行步骤S25:至该闪存13内搜寻一个完全空白的区块,将数据写入;若该地址暂存区121内具有该笔数据的LBA可参考的第一窗体,则表示该笔数据为连续性数据中,除了第一笔及最后一笔以外的其中一笔,即执行步骤S26:更新该地址暂存区,如:新增第二窗体,在该地址暂存区121内新增第二窗体,并修改参考的第一窗体,将该笔数据的信息写入该第二窗体内相对的逻辑区块地址字段,总区段数存入该第二窗体的区段数字段,并将该第二窗体的使用字段设为0,接着,将该笔数据的LBA参考的第一窗体内的使用字段12c修改为1。表示此第一窗体已被参考过,且其的后续数据已被传输并写入,下次搜寻时即可跳过该第一窗体。窗体更新完后,即执行步骤S27:将该笔数据写入闪存中其所参考的第一窗体所对应的数据所在的区块中。最后,执行步骤S28:判断该主机2欲传输的数据是否已全部传输完毕,如果没有,转步骤23,直至数据全部传输完毕,才可停止;如果数据已全部传输完毕,执行步骤S29:而当该储存装置1的硬件条件符合,或是该外部主机2发出控制指令时,该闪存13即执行反向复制(Copy back)的动作,所述外部主机2发出的控制指令可以为反向复制指令;而若不符合,即等待直至任一条件符合时,执行反向复制的动作。本实施例中,该储存装置1的硬件条件,是在数据存放的时间或数量超过默认值时、这些数据所对应的窗体将被删除或覆盖、断电或该闪存13内部的数据被更新时符合,如:该闪存内的数据被进行读取、修改、搜寻或管理动作时符合,而当条件符合时,即执行反向复制的动作,但此仅为本发明的实施例,任何熟悉本项技术的人必知,反向复制的动作可视流程规划的重点,而在任何适当的时间点执行,不可加以限定。
若在步骤S22中,该笔数据的总区段数不等于该临界值,则执行步骤S2a:该程序单元14也检查该地址暂存区121内是否具有该笔数据的LBA可参考的第一窗体,若没有,则表示该笔数据为随机数据,即执行步骤S2b:在内存搜寻一个完全空白的新区块,将该笔数据写入,并随即执行步骤S2c:执行反向复制;而若该地址暂存区121内具有该笔数据的LBA可参考的第一窗体,表示该笔数据为连续性数据的最后一笔,即执行步骤S2d:在地址暂存区内新增第二窗体,并修改参考的第一窗体,将该笔数据的逻辑区块地址信息写入该第二窗体内相对的逻辑区块地址字段,并将该笔数据的LBA参考的第一窗体内的使用字段12c修改为1,接着,执行步骤S2e:将该笔数据写入闪存中其所参考的第一窗体所对应的数据所在的区块中,接着,执行步骤S2c:并执行反向复制。最后,执行步骤S2f:判断该主机欲传输的数据是否已全部传输完毕,如果未全部传输完毕,则转步骤S2a,直至数据全部传输完毕,才可停止。
第二实施例
上述实施例,主要用以处理连续性数据,但仍无法处理随机数据,因随机数据都为单笔的小数据,且存取率非常大,故其所造成的抹除率也相当高,为解决此问题,本发明还提出另一实施例,如图5所示,是在该储存装置1内设置挥发性附加内存(Volatility memory)15,借由挥发性附加内存15没有抹除次数上限的特色,处理这些随机数据,并在外部主机2发出指令、断电或该附加内存15内部空间被写满时,进行重整,将暂存于该附加内存15内的数据写入该闪存13内。并另外增设充电装置16,例如电池、电容等,用以提供给该附加内存15电源,使数据得以持续地存在于该附加内存15内,不致因意外断电而导致该附加内存15内的数据消失。
图6为本发明的附加内存的内部配置图,如图6所示,该附加内存15内部规划为管理区151及数据暂存区152,其中,该数据暂存区152用以储存外部主机2所传送的数据,而该管理区151可规划为两个或两个以上由LBA字段15a、内存位置字段15b、修改字段15c及读取字段15d所组成的窗体。该LBA字段15a用以储存该主机2所传送来的数据的LBA;该内存位置字段15b用以储存这些数据在该数据暂存区152中所存放的位置,是与该LBA字段15a内的窗体互相对应;而该修改字段15c及该读取字段15d用以储存这些存在数据暂存区152内的数据的使用率,当这些数据被新增或修改时,将该修改字段15c加1,而当这些数据被读取时,将该读取字段15d加1。借此,可将使用率较高的随机数据往前移,提高该储存装置1修改与读取这些数据时的速度。
继续参见图7,为本发明的第二实施例的储存流程图,执行步骤S31:当该储存装置1内的该处理器11收到储存指令及LBA时,先取得欲写入的数据的总区段数,执行步骤S32:判断该数据的总区段数是否等于临界值,若等于,表示该笔数据可能为连续性数据除了最后一笔外的任一笔,即执行步骤S33及S34:即启动该程序单元14检查该地址暂存区121内是否具有与该笔数据的LBA相对应的第一窗体,该管理区151内是否具有与该笔数据的LBA相对应的第三窗体。若该地址暂存区121内具有对应于该笔数据的LBA的第一窗体,且该管理区151中也具有对应的第三窗体,即执行步骤S35:更新该管理区151内的窗体,及该数据暂存区152中与该窗体相对应的位置的数据。接着执行步骤S36:在该地址暂存区121内新增第二窗体,并修改参考的第一窗体,并将对应于该笔数据的LBA的第一窗体内的使用字段12c修改为1,表示该第一窗体已被参考过,接着,执行步骤S37:将该笔数据写入该第一窗体所对应的数据所在的区块中;而若该管理区151内不具有对应的第三窗体时,则不更新该管理区151与该数据暂存区152,即,不使用该附加内存15,直接进行步骤S36及步骤S37的动作;而若该地址暂存区121内不具有对应于该笔数据LBA的第一窗体,则执行步骤S38:也需判断该管理区151内是否具有对应于该笔数据的LBA的第三窗体,若该管理区151内具有对应的第三窗体,执行步骤S39:更新该管理区151内的窗体,及该数据暂存区152中与该窗体相对应的位置的数据。在步骤S38中若该管理区151内不具有对应的窗体或在执行步骤S39后,则接着执行步骤S3a:在该地址暂存区121内新增窗体,并执行步骤S3b:在该闪存13内找一个完全空白的新区块,将数据写入。最后,执行步骤S3c:判断数据是否全部传输完毕,若数据未传输完毕,转入步骤S33,直到全部都传输完毕为止,才可结束。并执行步骤S3d:并等到上述实施例中的这些条件符合时,即当硬件条件符合或主机发出指令时,对该闪存进行反向复制的动作。
若在步骤S32中,该数据的总区段数不等于该临界值,则表示该笔数据可能为随机数据,或连续性数据的最后一笔。执行步骤S3e:启动该程序单元14检查该地址暂存区121是否具有与该笔数据的LBA相对应的第一窗体,若该数据为连续性数据的最后一笔,即,若在步骤S3e后,该程序单元14发现该地址暂存区121内具有对应于该笔数据的LBA的第一窗体时,接着执行步骤S3f:判断该管理区151内是否具有对应的第三窗体,若有,即执行步骤S3g:更新该管理区151内的窗体,及该数据暂存区152中与该窗体相对应的位置的数据;若没有,则不使用该附加内存。接着,执行步骤S3h:在该地址暂存区121内新增第二窗体,并将对应于该笔数据的LBA的該第一窗体内的使用字段12c修改为1,表示该第一窗体已被参考过,接着,执行步骤S3i:将该笔数据写入该第一窗体所对应的数据所在的区块中,并在写入后,执行步骤S3j:执行反向复制的动作;而若该笔数据为随机数据,即若在步骤S3e后,该程序单元14发现该地址暂存区内并不具有对应于该笔数据LBA的第一窗体时,则执行步骤S3k:也需判断该管理区151内是否具有对应的第三窗体,若有,则执行步骤S3m:将该笔数据写入该附加内存15中的该数据暂存区152内,执行步骤S3n:并更新管理区的窗体,在该管理区151内的新增窗体,使该窗体得以对应至储存于该数据暂存区152内的该笔数据,然后执行步骤S3q:判断数据是否已全部传输完毕,若数据未传输完毕,则转步骤S3e,直至完毕后,才可停止;而若该管理区151内没有对应的第三窗体,则执行步骤S3o:需在该闪存13内找一个完全空白的新区块将数据写入,并复制至该附加内存15中的该数据暂存区152内,接着执行步骤S3p:更新管理区内的窗体,在该管理区151内新增窗体,使该窗体得以对应至储存于该数据暂存区152内的该笔数据,接着,执行步骤S3j:对该闪存13执行反向复制的动作。最后,执行步骤S3q:判断数据是否已全部传输完毕,若数据未传输完毕,则转步骤S3e,直至完毕后,才可停止。
而储存于该附加内存15内的这些随机数据,是在该主机2发出指令,断电,或数据的存放时间超过默认值等情况时,执行重整动作,将这些随机数据存回该闪存13内。
以上所述仅为本发明的较佳具体实施例,非因此即局限本发明的专利范围,故举凡运用本发明内容所为的等效变化,均同理都包含于本发明的范围内。
Claims (12)
1.一种闪存储存装置的数据储存方法,其特征在于,包括:
a)在储存装置内的内存内,规划地址暂存区,该地址暂存区内部规划为两个或两个以上由用以储存数据的逻辑区块地址的逻辑区块地址字段、用以储存数据的总区段数的区段数字段及用以储存判断参数的使用字段所组成的窗体;
b)外部主机发出至少一个具有一笔数据的逻辑区块地址及总区段数的储存指令至该储存装置,并储存于该地址暂存区内;
c)借由该笔数据的逻辑区块地址及总区段数,判断该笔数据是否为连续性数据的其中一笔;
d)若该笔数据为连续性数据的其中一笔,更新该地址暂存区中,对应于该笔数据的窗体,并将该笔数据写入该储存装置内的闪存内的空白区块,等待该连续性数据全部写入后,再执行反向复制;
e)若该笔数据并非连续性数据的其中一笔,在该笔数据写入该闪存内的空白区块后即进行反向复制;
f)当该储存装置的硬件条件符合,或收到该外部主机的控制指令时,对该闪存执行反向复制。
2.如权利要求1所述的闪存储存装置的数据储存方法,其特征在于,所述步骤f中的该条件,是在该外部主机发出反向复制指令时符合。
3.如权利要求1所述的闪存储存装置的数据储存方法,其特征在于,所述步骤f中的该条件,是在该闪存内的数据的存放时间超出默认值时符合。
4.如权利要求1所述的闪存储存装置的数据储存方法,其特征在于,所述步骤f中的该条件,是在该闪存内的数据数量超过默认值时符合。
5.如权利要求1所述的闪存储存装置的数据储存方法,其特征在于,所述步骤f中的该条件,是在断电时符合。
6.如权利要求1所述的闪存储存装置的数据储存方法,其特征在于,所述步骤f中的该条件,是在该闪存内的数据被进行读取、修改、搜寻或管理动作时符合。
7.如权利要求1所述的闪存储存装置的数据储存方法,其特征在于,所述步骤c包括下列步骤:
c1)判断该外部主机所传送的一笔数据的总区段数是否符合临界值;
c2)在步骤c1之后,搜寻该地址暂存区内是否具有该笔数据的逻辑区块地址可参考的第一窗体;
其中,若该笔数据的总区段数符合临界值,但该地址暂存区内不具有该笔数据的逻辑区块地址可参考的第一窗体,表示该笔数据为连续性数据中的第一笔;若该笔数据的总区段数符合临界值,且该地址暂存区内具有该笔数据的逻辑区块地址可参考的第一窗体,表示该笔数据为连续性数据中除了第一笔及最后一笔以外的其中一笔;若该笔数据的总区段数不符合临界值,而该地址暂存区内具有该笔数据的逻辑区块地址可参考的第一窗体,表示该笔数据为连续性数据中的最后一笔;若该笔数据的总区段数不符合临界值,而该地址暂存区内也不具有该笔数据的逻辑区块地址可参考的第一窗体,表示该笔数据为一随机数据。
8.如权利要求7所述的闪存储存装置的数据储存方法,其特征在于,所述步骤d包括下列步骤:
d1)若该笔数据的总区段数符合该临界值,且该地址暂存区内具有该笔数据的逻辑区块地址可参考的第一窗体,则新增第二窗体,将该笔数据的逻辑区块地址存入该第二窗体的逻辑区块地址字段,总区段数存入该第二窗体的区段数字段,并将该第二窗体的使用字段设为0;
d2)在步骤d1之后,将该笔数据的逻辑区块地址参考的该第一窗体,其内部的使用字段修改为1,借以表示该第一窗体已被参考过,下次搜寻时将不再参考;
d3)在步骤d2之后,将该笔数据写入该储存装置内的闪存中该笔数据所参考的该第一窗体所对应的数据所在的区块;
d4)若该笔数据的总区段数符合该临界值,但该地址暂存区内不具有该笔数据的逻辑区块地址可参考的第一窗体,则在该地址暂存区内新增第一窗体,将该笔数据的逻辑区块地址存入该第一窗体的逻辑区块地址字段,总区段数存入该第一窗体的区段数字段,并将该第一窗体的使用字段设为0;
d5)在步骤d4之后,在该闪存中,搜寻已被抹除过的空白区块,将该笔数据写入;
d6)若该笔数据的总区段数不符合该临界值,但该地址暂存区内具有该笔数据的逻辑区块地址可参考的第一窗体,则新增第二窗体,将该笔数据的逻辑区块地址存入该第二窗体的逻辑区块地址字段,总区段数存入该第二窗体的区段数字段,并将该第二窗体的使用字段设为0;
d7)在步骤d6之后,将该笔数据的逻辑区块地址参考的该第一窗体,其内部的使用字段修改为1;
d8)在步骤d7之后,将该笔数据写入该闪存中该笔数据所参考的该第一窗体所对应的数据所在的区块;
d9)在步骤d8之后,对该闪存执行反向复制。
9.如权利要求7所述的闪存储存装置的数据储存方法,其特征在于,所述步骤e包括下列步骤:
e1)若该笔数据的总区段数不符合该临界值,且该地址暂存区内也不具有该笔数据的逻辑区块地址可参考的第一窗体,则在该储存装置内的闪存中,搜寻空白的新区块,将该笔数据写入;
e2)在步骤e1之后,对该闪存执行反向复制。
10.如权利要求7所述的闪存储存装置的数据储存方法,其特征在于,所述步骤c之后还包括步骤c3:若该笔数据的总区段数大于该临界值,将该临界值的数值更改为借以校正该临界值的该笔数据的总区段数的数值。
11.如权利要求7所述的闪存储存装置的数据储存方法,其特征在于,所述步骤c中的该临界值,在使用微软公司的Windows XP操作系统的32位数据配置表格式的主机下,为128区段。
12.如权利要求7所述的闪存储存装置的数据储存方法,其特征在于,所述步骤c中的该临界值,在使用微软公司的Windows XP操作系统的新的技术档案系统格式的主机下,为64区段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007103022229A CN101464836B (zh) | 2007-12-20 | 2007-12-20 | 闪存储存装置的数据储存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007103022229A CN101464836B (zh) | 2007-12-20 | 2007-12-20 | 闪存储存装置的数据储存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101464836A CN101464836A (zh) | 2009-06-24 |
CN101464836B true CN101464836B (zh) | 2010-10-20 |
Family
ID=40805425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007103022229A Expired - Fee Related CN101464836B (zh) | 2007-12-20 | 2007-12-20 | 闪存储存装置的数据储存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101464836B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760491A (zh) * | 2011-04-26 | 2012-10-31 | 慧荣科技股份有限公司 | 快闪存储装置及其断电处理方法 |
US8879347B2 (en) | 2011-04-25 | 2014-11-04 | Silicon Motion, Inc. | Flash memory device and method for handling power failure thereof |
CN105005450A (zh) * | 2014-04-25 | 2015-10-28 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053919A (zh) * | 2009-10-29 | 2011-05-11 | 宏碁股份有限公司 | 数据相关性辨识方法及其存储器数据处理方法 |
US9117032B2 (en) * | 2011-06-01 | 2015-08-25 | International Business Machines Corporation | Facilitating routing by selectively aggregating contiguous data units |
TWI520153B (zh) * | 2013-11-05 | 2016-02-01 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其操作方法 |
CN107316611B (zh) * | 2017-08-30 | 2019-10-11 | 深圳市华星光电半导体显示技术有限公司 | Oled显示器的补偿方法 |
CN111221474B (zh) * | 2020-01-02 | 2023-05-26 | 广州虎牙科技有限公司 | 一种数据的存储方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567476A (zh) * | 2003-06-24 | 2005-01-19 | 群联电子股份有限公司 | 闪存高速大区块的数据写入方法 |
JP2006003966A (ja) * | 2004-06-15 | 2006-01-05 | Oki Electric Ind Co Ltd | フラッシュメモリの書込方法 |
CN1728282A (zh) * | 2004-07-30 | 2006-02-01 | 深圳市朗科科技有限公司 | 提高闪存盘数据写入速度的方法 |
-
2007
- 2007-12-20 CN CN2007103022229A patent/CN101464836B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567476A (zh) * | 2003-06-24 | 2005-01-19 | 群联电子股份有限公司 | 闪存高速大区块的数据写入方法 |
JP2006003966A (ja) * | 2004-06-15 | 2006-01-05 | Oki Electric Ind Co Ltd | フラッシュメモリの書込方法 |
CN1728282A (zh) * | 2004-07-30 | 2006-02-01 | 深圳市朗科科技有限公司 | 提高闪存盘数据写入速度的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8879347B2 (en) | 2011-04-25 | 2014-11-04 | Silicon Motion, Inc. | Flash memory device and method for handling power failure thereof |
CN102760491A (zh) * | 2011-04-26 | 2012-10-31 | 慧荣科技股份有限公司 | 快闪存储装置及其断电处理方法 |
CN105005450A (zh) * | 2014-04-25 | 2015-10-28 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
CN101464836A (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101464836B (zh) | 闪存储存装置的数据储存方法 | |
TWI408551B (zh) | 快閃記憶體儲存系統及其控制器與資料處理方法 | |
CN100501868C (zh) | 基于NAND Flash存储器文件系统的实现方法 | |
TWI398770B (zh) | 用於快閃記憶體的資料存取方法、儲存系統與控制器 | |
CN100524209C (zh) | 在非易失性存储器阵列中更新数据的方法 | |
US8626987B2 (en) | Flash memory system and defragmentation method | |
CN102012867B (zh) | 资料储存系统 | |
US8250286B2 (en) | Block management method, and storage system and controller using the same | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
CN102576293B (zh) | 固态存储设备和分层存储系统中的数据管理 | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
TWI385518B (zh) | 用於快閃記憶體的資料儲存方法及儲存系統 | |
CN100449549C (zh) | 嵌入式系统中NAND Flash存储器上建立文件系统的方法 | |
US20170060448A1 (en) | Systems, solid-state mass storage devices, and methods for host-assisted garbage collection | |
US20140047164A1 (en) | Physically Addressed Solid State Disk Employing Magnetic Random Access Memory (MRAM) | |
TWI435329B (zh) | 快閃記憶體管理方法、快閃記憶體控制器與儲存系統 | |
US20090172269A1 (en) | Nonvolatile memory device and associated data merge method | |
CN110515550B (zh) | 一种sata固态硬盘冷热数据分离的方法及其装置 | |
CN101382918A (zh) | 一种基于数据交换区的NAND Flash闪存优化管理方法 | |
CN109710541B (zh) | 针对NAND Flash主控芯片Greedy垃圾回收的优化方法 | |
CN109240939B (zh) | 一种快速处理固态硬盘trim的方法 | |
CN101458662A (zh) | 改进闪存存取效率的存储系统与方法 | |
CN109671458A (zh) | 管理闪存模块的方法及相关的闪存控制器 | |
CN101727403A (zh) | 数据存储系统、设备及方法 | |
US20100318726A1 (en) | Memory system and memory system managing method |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101020 Termination date: 20211220 |
|
CF01 | Termination of patent right due to non-payment of annual fee |