数据储存装置及其数据维护方法与流程

文档序号:14951882发布日期:2018-07-17 22:44阅读:167来源:国知局

本发明有关于一种数据储存装置,特别有关于可维持写入效能之的数据储存装置。



背景技术:

快闪存储器为一种普遍的非挥发性数据储存装置,以电性方式抹除与程序化。以与非门型的快闪存储器(即nandflash)为例,常用作记忆卡(memorycard)、通用串行总线闪存装置(usbflashdevice)、固态硬碟(ssd)、嵌入式快闪存储器模组(emmc)…等使用。

快闪存储器(如,nandflash)的储存阵列包括多个区块(blocks),其中浮置栅极晶体管可用以构成快闪存储器。浮置栅极晶体管中的浮置栅闸极,可捕捉的电荷以储存数据。另外,快闪记忆如何将数据写入影响了整体的写入效能。因此,如何设计一个有效率又安全的数据写入方法是重要的课题。



技术实现要素:

本发明所提供的数据储存装置以及数据维护方法可根据特定区块是否在写入数据时曾遭受断电事件,选择性地执行读取确认程序,以增进数据储存装置的写入效能。

本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个区块,并且每一区块包括多个页面。控制器将一数据写入一特定区块的一特定页面,在数据被写入特定页面后,判断特定区块是否在写入数据时曾遭受断电事件。控制器还用以根据特定区块是否在写入数据时曾遭受断电事件,选择是否自特定页面读取数据,以确认数据是否被成功写入特定页面。

在一实施例中,当特定区块在写入数据时曾遭受断电事件时,控制器自特定页面读取数据,以确认数据是否被成功写入特定页面。

在另一实施例中,当特定区块在写入数据时没有遭受断电事件时,控制器还判断特定区块的一抹除次数是否超过一既定值,其中抹除次数代表特定区块曾经被抹除的次数。当特定区块的抹除次数超过既定值时,控制器还用以自特定页面读取数据,以确认数据是否被成功写入特定页面。当特定区块的抹除次数没有超过既定值时,控制器不自特定页面读取数据并且接着处理下一个任务。

本发明另提供一种数据维护方法,适用于具有一快闪存储器的一数据储存装置。数据维护方法包括:将一数据写入快闪存储器中的一特定区块中的一特定页面;在数据被写入特定页面后,判断特定区块是否在写入数据时曾遭受断电事件;以及根据特定区块是否在写入数据时曾遭受断电事件,选择是否自特定页面读取数据,以确认数据是否被成功写入特定页面。

在一实施例中,根据特定区块是否在写入数据时曾遭受断电事件,选择是否自特定页面读取数据的步骤更包括:当特定区块在写入数据时曾遭受断电事件时,自特定页面读取数据,以确认数据是否被成功写入特定页面。

在另一实施例中,根据特定区块是否在写入数据时曾遭受断电事件,选择是否自特定页面读取数据的步骤还包括:当特定区块在写入数据时没有遭受断电事件时,判断特定区块的一抹除次数是否超过一既定值;当特定区块的抹除次数超过既定值时,自特定页面读取数据,以确认数据是否被成功写入特定页面;以及当特定区块的抹除次数没有超过既定值时,控制器不自特定页面读取数据并且接着处理下一个任务。

附图说明

图1为本发明所提供的一电子系统的一种实施例的方块图。

图2为本发明所提供的一数据维护方法的一种实施例的流程图。

图3为本发明所提供的一数据维护方法的另一种实施例的流程图。

符号说明

100电子系统

120主机

140数据储存装置

160控制器

162运算单元

164永久存储器

166随机存取存储器

180快闪存储器

s200~s208、s300~s310步骤

具体实施方式

以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。

1图1为本发明所提供的一电子系统的一种实施例的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机120所下达的命令操作。控制器160包括一运算单元162、一永久存储器(如,唯读存储器rom)164以及随机存取存储器(ram)166。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。随机存取存储器(ram)166用以载入程序码与参数以提供控制器160根据所载入的程序码与参数动作。快闪存储器180包括多个区块,每一区块包括多个页面。值得注意的是,快闪存储器180以区块为最小单位进行抹除,并且页面为最小单位进行写入。

在一实施例中,控制器160会在随机存取存储器166中建立一实体转逻辑对应表以纪录页面的实体地址与数据的页面的逻辑地址的对应关系。当发生一断电事件时,随机存取存储器166中所储存的实体转逻辑对应表及暂时区块表会因为电力消失而丢失。因此当发生一断电事件并且数据储存装置140恢复电力后,控制器160需要依序读取区块中的页面以重新在随机存取存储器166中建立一实体转逻辑对应表。另外,在写入过程中遭受断电事件的页面以及其附近的页面可能会因断电事件而损坏。

有鉴于此,在一实施例中,为了确保页面没有损坏,每当数据写入快存储器180中的页面,控制器160都会自快闪存储器180读取刚被写入的数据,并且根据数据是否可被成功读取来判断所写入的页面是否损坏,其中藉由读取数据确认页面使否损坏的动作,称为读取检查程序。在本实施例中,快闪存储器180中的所有页面被写入后都会进行读取检查程序。因此,数据储存装置140会花费很长的时间在做背景处理工作,而影响数据储存装置140的效能,其中读取检查程序属于背景处理工作。

因此,在另一实施例中,控制器160仅会在一既定条件下对页面进行读取检查程序。值得注意的是,在其他实施例中,读取检查程序的单位可以为一个以上的页面,本发明不限于此。在一实施例中,既定条件为数据所写入的页面为被遭断电事件的区块中的页面,但本发明不限于此。在其他实施例中,既定条件可为数据所写入的页面为抹除次数超过一既定值的区块中的页面,其中抹除次数为区块曾经被执行抹除程序的次数,并且既定值可由电路设计者依照快闪存储器180的特性决定。举例而言,当快闪存储器180中的区块平均在被抹除n次后会损坏,既定值则可为2/3*n,其中n为一正整数。值得注意的是,在本实施例中,除了满足既定条件的页面外,快闪存储器180中的所有页面在被写入数据后,皆须经过读取检查程序,以确认页面是否被损坏。

详细而言,控制器160根据主机120的命令或者其他整理程序,将一数据写入快闪存储器180中的一特定区块的一特定页面。在数据被写入特定页面后,控制器160判断特定区块是否在写入数据时曾遭受断电事件,其中当断电事件发生在对特定区块中的任一页面时,控制器160都会判断特定区块曾遭受过断电事件。接着,控制器160还根据特定区块是否在写入数据时曾遭受断电事件,选择是否自特定页面读取数据,以确认数据是否被成功写入特定页面,其中数据若被成功写入特定页面代表特定页面并没有损坏。当特定区块在写入数据时曾遭受断电事件时,控制器160自特定页面读取数据,以确认数据是否被成功写入特定页面(读取检查程序)。当特定区块中的所有页面在写入数据时都不曾遭受断电事件时,控制器160则不会进行读取检查程序。换言之,当特定区块中的所有页面在写入数据时都不曾遭受断电事件时,控制器160不自特定页面读取数据并且接着处理下一个任务,但本发明不限于此。在另一实施例中,当特定区块在写入数据时都不曾遭受断电事件时,控制器160还判断特定区块的一抹除次数是否超过既定值。当特定区块的抹除次数超过既定值时,控制器160还用以自特定页面读取数据,以确认数据是否被成功写入特定页面。当特定区块的抹除次数没有超过既定值时,控制器160则不会进行读取检查程序。换言之,当特定区块的抹除次数没有超过既定值时,控制器160不自特定页面读取数据并且接着处理下一个任务,其中下一个任务可为读取数据、写入数据、整理数据或者闲置。

在一实施例中,当特定页面损坏时,控制器160会将数据重新写入特定区块中其他不具有有效数据的页面,但本发明不限于此。在其他实施例中,控制器160亦可将数据重新写入其他区块中的其他页面。

图2为本发明所提供的一数据维护方法的一种实施例的流程图。数据维护方法适用于图1所示的数据储存装置140,以根据特定区块是否在写入数据时曾遭受断电事件,选择是否对特定页面执行读取确认程序。流程开始于步骤s200。

在步骤s200中,控制器160将一数据写入快闪存储器180中的一特定区块的一特定页面。详细而言,控制器160根据主机120的命令或者其他整理程序,将一数据写入快闪存储器180中的一特定区块的一特定页面。

接着,在步骤s202中,控制器160判断特定区块是否在写入数据时曾遭受断电事件。详细而言,当断电事件发生在对特定区块中的任一页面时,控制器160都会判断特定区块曾遭受过断电事件。当特定区块在写入数据时曾遭受断电事件时,流程进行至s204;否则,流程结束于步骤s202。

在步骤s204中,控制器160自特定页面读取数据。

接着,在步骤s206中,控制器160根据读取结果判断数据是否被成功写入特定页面。换言之,控制器160对特定页面执行读取检查程序,以确认特定页面是否损坏。详细而言,当数据可自特定页面成功读取时,控制器160判断数据已被成功写入特定页面,流程结束于步骤s206。当数据无法自特定页面成功读取时,控制器160判断数据没有被成功写入特定页面并且特定页面可能损坏。当数据无法自特定页面成功读取时,流程进行至步骤s208。

在步骤s208中,控制器160将数据重新写入其他页面。详细而言,当特定页面损坏时,控制器160会将数据重新写入特定区块中其他不具有有效数据的页面,但本发明不限于此。在其他实施例中,控制器160亦可将数据重新写入其他区块中的其他页面。流程结束于步骤s208。

图3为本发明所提供的一数据维护方法的一种实施例的流程图。数据维护方法适用于图1所示的数据储存装置140,以根据特定区块是否在写入数据时曾遭受断电事件,选择是否对特定页面执行读取确认程序。图3的数据维护方法相似于图2的数据维护方法,除了图3的数据维护方法多了步骤s310。图3的数据维护方法中的步骤s300~s308可参考步骤s200~s208的说明,在此不再赘述。

在步骤s310中,当特定区块在写入数据时都不曾遭受断电事件时,控制器160还判断特定区块的一抹除次数是否超过既定值。既定值可由电路设计者依照快闪存储器180的特性决定。举例而言,当快闪存储器180中的区块平均在被抹除n次后会损坏,既定值则可为2/3*n,其中n为一正整数。当特定区块的抹除次数超过既定值时,流程进行至步骤s304;否则,流程结束于步骤s310。

本发明所提供的数据储存装置140以及数据维护方法可根据特定区块是否在写入数据时曾遭受断电事件,选择性地执行读取确认程序,以增进数据储存装置的写入效能。

本发明之方法,或特定型态或其部份,可以以程序码的型态存在。程序码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。

以上所述,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或申请专利范围不须达成本发明所揭示的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1