通过控制频繁受访问扇区对非易失性存储器的更快写操作的制作方法

xiaoxiao2020-7-23  4

【知识产权代理】【专利服务】Tel:18215660330

专利名称:通过控制频繁受访问扇区对非易失性存储器的更快写操作的制作方法
技术领域
本发明一般涉及使用非易失性存储器降低系统中写操作速度的方法和设备。更具体地,本发明涉及当执行随机写操作时在这样的系统中降低写操作速度的系统和设备。
背景技术
随着数字信息革命的来临,在不到十年内非易失性存储器(或FLASH存储器或EEPROM存储器)已经得到了相当大的普及。这在很大程度上归功于特殊的特征(本领域的一般技术人员知道这是归因于非易失性存储器),诸如即使当电源中断或断开时,信息仍能保留。
非易失性存储器具有很多种应用,它们中的一些应用包括数码相机(它们用于以数字形式存储照片,以便以后在别处和个人计算机(PC)编辑或者加载)以及个人计算机(PC)(它们可用于存储不同类型的数字信息)。
众所周知,一个向这些对使用非易失性存储器感兴趣的人提出的不变的挑战是读操作和写操作的速度问题。在每次写操作后(其包括改变仅是那些仍然处于逻辑“1”状态的单元的状态),在随后的对相同单元的写操作之前,需要执行擦除操作,很明显,写操作速度的改善证明是对整个系统性能的突出改善。
通过对非易失性存储器中信息组织方式作简要背景介绍的方式,将存储器(其可以是一个或多个集成电路,一般是多于一个)预先安排为块,每个块包含预定数量的扇区,并且每个扇区包含预定数量的字节。由系统借助逻辑块地址(LBA)标识扇区,但当将扇区写入非易失性存储器或从非易失性存储器读取扇区时,由物理块地址(PBA)标识扇区。LBA和PBA之间一般有已知的对应,在随机访问存储器(RAM)中可保持此对应。
单个块或单个扇区可定义为依赖于用户的可擦除单元。例如,扇区可以并且一般包含512字节数据以及16字节的开销信息并且在给定应用中,在擦除操作过程中,可将包含很多单元的整个扇区擦除。事实上,一次可擦除多个扇区,在此情况下,用户大概已经将系统设计为可将一个或多个块共同擦除。
在现有的采用非易失性存储器的系统中,存储着两种数据。一种是文件系统数据,另一种是用户系统数据。文件系统将有关包含用户数据的文件所在的单元的信息提供给操作系统。用户系统数据是文件的内容,每个文件一般包含大块的数据,一般需要对该数据执行顺序写操作。在顺序写操作中,LBA按顺序出现,即写入顺序扇区。
一般由与控制器交互的主机发起写操作以控制信息进出存储器。在存储器中写入由主机标识的扇区。在海量存储器应用中,主机可发起两种写操作,一种是如上所述的顺序写操作,另一种是随机写操作。当更新文件系统数据时一般执行随机写操作方法。
在大部分PC和工作站中所采用的最近的视窗操作系统中,使用了一种称为“FAT32”(文件分配表32)的新的文件系统,它允述了大于2千兆字节大小的文件系统。通过使用FAT32提供的优点包括将用于不同应用(诸如数码相机)的卡(其具有比现有文件系统所提供的更大的容量)格式化。
在FAT32类型的文件系统中,采用一种称为“FSInfo”(文件系统信息)的特殊扇区。用关于下一个自由簇单元的信息连续更新FSInfo扇区。实质上,这节省了文件系统软件(操作系统),使其不必搜索FAT中自由簇的单元(这是耗时的工作)。一般而言,写入或重写入FSInfo扇区和某些种类的扇区比写入或重写入其它类型的扇区更频繁。
然而,一般而言,这些被写入得比其它扇区更频繁的扇区的连续的写入或更新具有降低系统性能的副作用,并消耗很多非易失性存储器空间,从而造成使用非易失性存储器时的低效率。
如上所述,非易失性存储器被组织为扇区,一组扇区包含一个块。虽然扇区具有不同数量的字节并且块具有不同数量的扇区,扇区一般包含512字节的用户数据和16字节的开销信息,并且一个块可包含256个扇区。
在现有的非易失性存储器系统中,当将写入某扇区时,首先定位自由块。逻辑块地址(LBA)值与在非易失性存储器中对自由块或可用块寻址的新的物理块地址(PBA)相关联。这时,认为自由建立块(free found block)是“开放”状态或“未决”状态(即,使用扇区信息写入自由建立块)。为了论述的目的,具有“开放”或“未决”状态的自由建立块称为块0,由VLBA0标识。
接下来检测正被写入扇区之后的扇区,如果发现随后的扇区是顺序的或者属于相关联的VLBA块(即块0(PBA0)),将将该扇区信息写入相同块中的扇区单元。继续将随后的属于相关联的VLBA块(即块0)的扇区信息写入,直到块0不再自由并且没有多的自由存储单元(在该情况下,指定写入诸如由VLBA10(PBA10)所标识的块10的不同的自由块中)。现在,如果存在对块0的已写入扇区的进一步写操作或更新版本,则将它们写入或存储在块10。在此情况下,将所有没有更新的扇区信息从块0移到到块10,并且块0处于暂停其擦除的“关闭”状态。
在先前的示例中,在块0不再自由之后,并且假设新的写命令具有扇区信息,该扇区信息属于相同的VLBA块(即块0)并且正在被更新,指定写入诸如由VLBA0和PBA10所标识的块10的不同的自由块,使得该不同自由块用于存储更新的扇区信息。这时,块0和10是“未决”状态或“开放”状态。如果还接收到另一个写命令,它命令将不属于块0并从而与除VLBA0以外的一个LBA相对应的扇区信息更新,还有另外一个自由块(即VLBA1和VLBA20所标识的块20)用于存储此更新版本。不属于相同VLBA块的扇区信息的一个示例是相对于存储在块0和块10中的扇区的非顺序扇区。在此示例中,如果将块0和块10的每一个指定为存储扇区0-255(LBA0...LBA255),那么认为对扇区614(LBA614)的写入是对不属于与块0和块10相同的VLBA块的扇区的写入。然而,将没有更新的所有扇区信息从块0移到块10。现在,在此情况下,块10和块20将处于“开放”或“未决”状态,块0将处于“关闭”状态。如2000年7月21日递交的题为“将一块信息内的扇区在闪速存储器海量结构中传送”的美国专利申请09/620544以及1998年12月1日授权的题为“直接逻辑块编址闪速存储器海量存储器结构”的美国专利5845313中所述。
仍然使用以上的示例,还有另外一种情况是即使在块0用完自由空间之前,即当块0保持自由和有可用的扇区单元时,如果新的写命令是对一个已经更新过一次的扇区之一执行写操作,此外,另一个块(诸如块10)用于存储已经更新过一次的扇区信息的第二更新版本,当随后的扇区达到成顺序和/或属于与块0相同的LBA组的程度时,被写入块10的相应的扇区单元。最终将块0的未更新扇区移到块10并且块0处于“关闭”状态。块10保持“开放”和“未决”状态。
为此,在块包含诸如256个扇区的情况下,必须执行最大可能值为255次的扇区信息移动操作,这是非常耗时的,并且会降低系统性能。
这在图1中的高级框图中示出,其中非易失性存储器10示为包含用于存储扇区信息的块12。如果这些扇区成顺序排列并且到达成顺序的程度,块12最初自由随后填充扇区信息。当将对非顺序扇区写入时,使用块12将包含最近和“正常”信息的扇区移动到块14(如箭头16所示),这是255次的移动操作(从原来的块或前一快中读取255个扇区以及将同样的写入新的块)。已经知道前一块的正常或未更新的扇区到新的块的移动操作使非易失性内存器系统的性能降低50%。
因此,需要一种系统和方法以使执行非易失性存储器的文件系统区中的非顺序扇区的写操作的时间最小化。

发明内容
简而言之本发明的一个实施例包括一种具有将随机写命令发送到具有扇区信息的写文件的主机以及对所述命令进行响应以写入和更新FSInfo扇区信息的控制器装置。控制器控制被组织为块的非易失性存储器系统(本领域一般技术人员所熟知的一个非易失性存储器的例子是闪速存储器),每个块包含多个用于存储扇区信息的扇区单元以及一个指定用于存储FSInfo扇区信息的特定自由块。当更新所述FSInfo扇区时,将更新的FSInfo扇区信息写入专用块的下一自由扇区,从而避免将所述特定块的扇区移到另一个块,以此改善系统性能。
通过以下对参考附图的较佳实施例的详细描述,本发明上述和其它的目的、特征和优点将变得显而易见。


图1示出现有技术非易失性存储器系统10。
图2示出本发明一个实施例的数字设备系统50。
图2(a)示出本发明另一个实施例。
图2(b)示出非易失性存储器系统20对频繁受访问的扇区的管理。
图3示出本发明的一个实施例的采用图2的非易失性存储器系统20的诸如数码相机的数字系统500的高级框图。
具体实施例方式
现在参考图2,根据本发明的一个实施例,所示非易失性存储器系统20包含前一块22和自由块24。非易失性存储器系统20由组织为块的非易失性存储器存储单元组成,每个块包含用于存储扇区信息的一组扇区单元。扇区信息一般由用户数据和开销数据组成。用户信息是会被用户存储的数据,诸如照片、音乐等等,开销数据是关于用户数据的信息,诸如其单元和/或错误信息等等。本领域的一般技术人员知道不同种类的扇区信息,其中之一就是FSInfo扇区。
前一块22专门用于存储特定种类的扇区,即,比其它扇区更频繁受访问的扇区。这种类型的扇区通过使用访问扇区的次数的预定阈值来检测,如果扇区受访问次数的超过该阈值,那么将根据下面所述以不同方式处理。在控制器内,将阈值值编程为固定值并且由控制非易失性存储器系统工作的软件或固件使用该阈值值。在本发明的一个实施例中,使用访问计数器来跟踪访问扇区的次数。
图2示出访问计数器值21的一个例子,其位于块22的第一扇区开销部分25中。图示的该扇区也包含用户数据部分23。访问计数器物理上位于控制非易失性存储器的控制器中,由图3中的访问计数器示出访问计数器521的一个示例,它与闪速控制器块532相连。或者,访问计数器也可位于控制器的外部。
另一种标识这些种类型扇区的方法是通过相对于彼此比较受访问的次数,如果检测到扇区属于比其它扇区受访问多的类型,则根据以下所述对其特别处理。在这两种方法中,计数器(即访问计数器)在每次扇区受访问时计数;在一个示例性实施例中,每个扇区的计数值一般存储在非易失性存储器中扇区信息的开销部分。
在本发明的一个方法中(诸如FAT32的例子),分析系统的业务量,并且将比其它扇区受访问更多的扇区(诸如FSInfo)检测为频繁受访问的扇区,或者在写文件期间,重复访问属于VLBA块的扇区。FSInfo扇区是此扇区的一个例子。虽然以下论述大部分涉及FSInfo扇区,需要注意的是本发明适用于任何种类的比其它扇区受访问更频繁的扇区,而不限于FSInfo扇区,并且后者仅仅是本发明的一个示例性实施例。虽然上文中论述了FSInfo扇区,下文将重复论述相同的部分,即FSInfo扇区的功能。
在FAT32类型的文件系统中,采用了称为“FSInfo”的特殊扇区。使用关于上一已知自由簇的单元的信息将FSInfo扇区连续更新。实质上,这节省了文件系统软件(操作系统),使其不必搜索FAT中自由簇的单元(这是耗时的工作)。
如上所述,FSInfo扇区仅仅是频繁受访问的扇区的一个例子。本发明适用于检测出或已知的任何种类的比其它扇区受访问更频繁的扇区以及如果所有的数据都没有更新并且属于相同的VLBA块,会引起不必要的移动。在任何给定时间,块22的单元之一存储FSInfo扇区的当前版本。例如,FSInfo扇区的第一版本存储在块22的单元26,当更新FSInfo扇区时,更新的版本可存储在单元28,FSInfo扇区接下来的版本存储在块22的单元30...直到将FSInfo扇区的不同版本写入块22的所有单元为止,其中最近版本存储在块22的单元“n”(n是整数,诸如256(在每块有256个扇区的情况下))。这样,每一次更新FSInfo扇区时,将其写入块22中的新(或者下一个,虽然没有必要是下一个单元)扇区单元,并且将前一扇区单元指定为“原有”。该指定使得读操作时,可以很容易地标识FSInfo扇区的最近版本。即包含FSInfo扇区的最近版本的扇区单元具有除“原有”外的指定,而包含FSInfo扇区的前一版本的所有扇区单元具有“原有”指定。存在其它标识FSInfo扇区的最近版本的方法,一种方法是跟踪标识扇区单元的LBA值,该值包含FSInfo扇区的最近的版本。
当块22充满时,即将FSInfo扇区的不同版本写入块22的所有的扇区单元,写入块24,准备将块22擦除并作出相同的“原有”指定。此外,至于块24,如同块22一样,每一次更新FSInfo扇区时,将FSInfo扇区写入该FSInfo扇区的扇区单元。需要重复的是,上文中所述现有技术中FSInfo扇区的更新所需要的将前一块的“正常”扇区移到另一个块(或读出和写入)会引起耗时的操作(即许多读操作和写操作),这不会在本发明中出现。
在本发明中,当更新FSInfo扇区时不存在一个块所有的“正常”扇区至另一个块的移动,相应的。没有必要如同现有技术的系统中那样,将诸如255个扇区从块22移到块24。
在图2的实施例中,相同的块22中的下一自由扇区单元用于存储更新的或最近版本的FSInfo扇区,而非新的块中的扇区。
在本发明中,每次将FSInfo扇区更新时,发生写操作。在本发明中,没有必要将块22的扇区移(即读出或写入)到块24。块22仅专门用于存储FSInfo扇区。当完成对块22的所有扇区单元的写入并且当接收到FSInfo扇区的下一更新版本并将相同的版本存储在新的块中时,将块22擦除。
在本发明的另一个实施例中,由于存在多于一种类型的比其它扇区受访问频繁得多的扇区使得某个块一直是专用的,因此以不同方式处理多于一个扇区。这可通过使用一个示例最好地理解。
假设对LBA0和LBA50所标识的扇区的访问比对其它扇区的访问频繁得多,每次对LBA0写入时,将其写入非易失性存储器中的特定块,按照相同的方式,当对LBA50写入时,也将其写入特定块,当对LBA0重写时,不是如现有技术那样将其写入不同的块,而是将其写入特定的块(可能是第三单元,这是由于对LBA0和LBA50的第一写入占用了头两个单元)。接下来,当对扇区50重写时,也将其写入特定块...直到写入特定块的所有扇区单元为止。此后,将接下来的LBA0和LBA50重写入专用的不同的块,并且擦除特定块。
本发明的一个可替换实施例包括每次对认定的比其它扇区受访问频繁得多的特定扇区执行写入时,与相同的专用块相反,将该特定扇区写入不同的块。
图2(a)示出这样的实施例的一个示例,其中将块44、46和48指定为容纳比其它扇区受访问频繁得多的特定扇区。在此情况下,作为示例,对LBA0所标识的扇区信息的访问频繁而且每次写入该扇区信息时,将其写入不同的块。第一次写入,写入块44的扇区单元50。第二次写入,写入块46的单元52,...另一次写入同样的至块48的单元54。这避免了任何移动操作,从而增强了系统性能。缺点在于,如果使用很多块实现(即,有很多将LBA0扇区信息写入的诸如44、46和48的块),很多块处于“开放”状态或写入许多块,使得不能用来写入其它类型的信息,直到在某些时候这些块处于“关闭”状态或声明不会进一步使用并在再次使用前擦除。
图2(b)示出非易失性存储器系统20对频繁受访问的扇区的管理。图2(b)中的系统20示为包括一个块0、一个块1和一个块M,虽然可采用很多块,出于图示目的而示出块0、块1和块M。
每个块包含预定数量的扇区存储单元(诸如16),每个扇区存储单元用于存储扇区信息(即用户数据和开销信息)。通过示例的方式,由VPBA0将块0标识或定址,由VPBA1标识块1,由VPBA17标识块M。由特定PBA标识每个扇区存储单元。例如,由PBA0标识块0的第一扇区存储单元60,由PBA15标识或定址块0的末扇区存储单元62。虽然没有示出,但图2(b)的剩余块包含类似的它们各自扇区存储单元的PBA定址。
在图2(b)的示例中,为了频繁访问LBA15,由主机选中它,LBA15将是下面论述的主要对象。需要注意的是,如上所述,可将任何其它的扇区指定为频繁受访问的扇区。块M用作专用块,以将更新版本存储在LBA15所标识的扇区(有时称为扇区15)。
首先,将扇区写入块0的扇区存储单元。当对这些扇区重写时,将它们写入块1的扇区(扇区15除外)或LBA15所标识的扇区。即,在此情况下,如同接下来对扇区15的更新一样,不是将扇区15写到块1,而是将其写入专用块-块M。这样,每次将扇区15作为扇区序号一部分(即,扇区0-15)或以别的方式(诸如随机写操作)更新的时候,将该扇区15写入块M中未使用或可用的扇区单元。第一次进行更新,写入扇区单元66,下一次进行更新,写入扇区单元68...直到写入扇区单元70为止。此后,分配另一个可用块以包含扇区15的更新版本。
图3示出采用本发明实施例的诸如数码相机、个人计算机等的个人数字系统500。图示数字系统500包括主机502(其可以是个人计算机(PC)或仅仅是数字系统中所普遍采用的任何普通类型的处理器,其与控制器电路506相连,用于将信息存入非易失性存储器508或从非易失性存储器508检索信息。在本发明的一个实施例中,存储器单元508包括图2的非易失性存储器系统20,并类似于结合前面附图所描述的来管理。
控制器电路506可为半导体(也可称为“集成电路”或“芯片”)或不同电子元件的任意结合。在较佳实施例中,控制器电路示为单片装置。非易失性存储器单元508由一个或多个存储器装置组成,每个存储器装置可为闪速或EEPROM类型的存储器。在图3的较佳实施例中,存储器单元508包括多个闪速存储器装置510-512,每个闪速装置包括用于存储信息的单个可编址单元。在图3中实施例的较佳应用中,将该信息组织为块,每个块具有一个或多个扇区的数据。除了数据以外,存储的信息可进一步包括关于数据块的状态信息,诸如标记字段、地址信息等。
主机502通过主机信息信号504与控制器电路506相连。主机信息信号包括地址总线、数据总线以及控制信号,用于将命令、数据和其它类型的信息传送到控制器电路506,该控制器电路又通过闪速地址总线512、闪速数据总线514、闪速信号516和闪速状态信号518(508和512-516共同称为信号538)将这些信息存储在存储器单元508中。信号538可在控制器506和存储器单元508之间提供命令、数据和状态信息。
图示控制器506包括高级功能块(诸如主机接口块520、缓冲器RAM块522、闪速控制器块532、微处理器块524、微处理器控制器块528、微处理器存储快530、微处理器ROM块534、ECC逻辑块540以及空间管理器块544)。主机接口块520通过主机信息信号504接收用于从缓冲RAM块522和微处理器块524给主机502提供数据和状态信息的主机信息信号504。主机接口块520通过微处理器信息信号526(其包括地址总线、数据总线和控制信号)与微处理器块524相连。
图示微处理器块524与微处理器控制器块528、微处理器存储块530和微处理器ROM块534相连,并用作在控制器506中通过执行存储在微处理器存储块530和微处理器ROM块534中的程序指令控制图3所示的不同功能模块的操作。微处理器524可经常执行来自微处理器ROM块534(它是非易失性存储区)的程序指令(或程序码)。在另外一方面,微处理器存储块530可为易失性(即读-写存储器(RAM))类型的存储器存储或非易失性(即EEPROM)类型的存储器存储。在本发明的系统操作开始前的某个时间,微处理器块524执行的指令(共同称为程序码)存储在存储块530中。最初,并且在执行来自微处理器存储单元530的程序码之前,可将程序码存储在存储器单元508中,以后通过信号538将其下载到存储块530。在此初始化期间,微处理器块524可执行来自ROM块534的指令。
控制器506进一步包括通过微处理器信息信号526与微处理器块524相连的闪速控制器块532,用于在微处理器的控制下向存储器单元提供信息并从存储器单元接收信息。可从闪速控制器块532通过微处理器信号526将诸如数据的信息提供给缓冲器RAM块522以便将信息存储在缓冲器RAM块中(可能仅仅是临时存储)。类似地,通过微处理器信号526,可由闪速控制器块532从缓冲器RAM块522检索数据。
ECC逻辑块540通过信号542与缓冲器RAM块522相连,并通过微处理器信号526进一步与微处理器块524相连。ECC逻辑540包括用于一般执行错误编码和校正功能的电路。本领域的技术人员应该理解不同的ECC设备和算法已经商用并且可用于执行ECC逻辑块540需要的功能。简而言之,这些功能包括为了所有强化的目的而从多项式唯一产生码附加到正在传输的数据,当接收到数据时,使用相同的多项式以从接收的数据中产生另一个用于检测并可能纠正预定数量的会破坏数据的错误的码。ECC逻辑块540对存储在存储器单元508中的数据或从主机502接收到的数据执行错误检测和/或校正操作。
如将在本文中结合其他附图所进一步说明的,空间管理器块544采用较佳设备和算法以在一个闪速存储器装置中寻找下一未使用(或自由)存储块以存储一块信息。如前文所述,一个闪速存储器装置中的一个块的地址称为VPBA,由空间管理器通过在从主机接收到的LBA上执行变换确定所述VPBA。可采用多种设备和方法以实现此变换。题为“直接逻辑块编址闪速存储器海量存储器机构”的美国专利5845313公开了该方案的一个示例,该专利的说明书通过引用结合于本文中。也可以在不脱离本发明保护范围和主旨的前提下采用其它LBA-PBA的转换方法和设备。
空间管理器544包括SPMRAM块548和SPM控制块546,后面的两个块彼此相连。SPMRAM块548存储LBA-PBA映射信息(也可称为转换表、映射表、映射信息或表)处于SPM控制块546的控制下。也可将映射保留在非易失性存储器中。或者,如图3中针对RAM阵列100所示,SPMRAM块548可位于控制器的外部。
将RAM存储器配置为可由主机提供的与LBA相同的地址编址。RAM中每个这样的可编址单元包括一个字段,该字段在主机期望的非易失性海量存储中容纳数据的物理地址。
归根结底,对每个块而言,将块在非易失性存储器中定址的方式是通过虚拟逻辑块地址(VLBA),该虚拟模拟块地址是修改的LBA。将每个块内的扇区定址的方式是通过使用虚拟物理块地址(VPBA)。VPBA单元用于存储信息(一般是与特定LBA值对应的PBA值)。
在操作中,在通过控制器506诸如执行读操作或写操作期间,主机502从存储器单元508读出信息并将信息写入存储器单元508。在执行此操作期间,主机502通过主机信号504向控制器506提供LBA。主机接口块520接收到此LBA。如下文将进一步论述的,在微处理器块524的控制下,将LBA最终提供给空间管理器块544以将该LBA转换为PBA并将其存储。
在微处理器块524的控制下,通过闪速控制器块532在闪速存储器装置510-512的一个中将数据和其它信息写入PBA所标识的存储区或从PBA所标识的存储区读取数据和其它信息。如前面所述,在没有首先将存储在闪速存储器装置中的信息擦除的条件下不能使用新信息重写存储在闪速存储器装置中的信息。另外一方面,擦除一块信息(每次在写入之前)是一种非常耗时耗电的方法。该操作有时称为写前擦除操作。较佳实施例通过连续而且高效地将一个块中正被重写的一个扇区(或多个扇区)的信息从闪速存储器中的一个PBA单元传送到存储器单元508中的一个未使用的PBA单元,从而避免频繁擦除操作。一块信息可包含多于一个扇区(诸如16个或32个)。将一块信息进一步定义为信息的单个可擦除单元。过去,现有技术系统移动存储在闪速存储器装置内的块,先前已经将该块写入闪速存储器装置内的自由(或未使用)单元。然而,即使当正在对该块内仅有的一个扇区的信息执行重写操作时,这样的系统也移动整个块。换句话说,存在闪速存储器中存储容量的浪费,以及当对块内少于全部扇区数量的扇区重写时移动整个块的内容所带来的时间上的浪费。在此所述的本发明的较佳实施例提供少于一块信息的“移动”从而减少了先前写入的扇区的移动操作数量,因此减少了擦除操作的数量。
虽然已经结合具体实施例描述了本发明,然而预期本发明的改变和修改对本领域的技术人员而言显而易见。所以当这样的改变和修改落入本发明真正的主旨和保护范围时,期望以下的权利要求可解释为覆盖所有这样的改变和修改。
权利要求
1.一种数字设备系统,包括a.主机,用于将写命令发送给具有扇区信息的写文件;b.控制器装置,响应所述命令,用于写入并更新FSInfo扇区信息,并且包括非易失性存储器系统,被组织成块,每个块包括多个用于存储扇区信息的扇区单元,特定自由块,被指定用于存储FSInfo扇区信息的,其中,在更新所述FSInfo扇区时,将更新的FSInfo扇区信息写入专用块的下一个自由扇区,从而避免将特定块的扇区移到另一个块,以此改善系统性能。
2.如权利要求1所述的数字设备系统,其特征在于,通过连续对所述特定块的每个扇区单元进行写入直到所述块充满为止,用FSInfo扇区信息填充所述特定块。
3.如权利要求2所述的数字设备系统,其特征在于,当所述特定块充满后将其擦除。
4.如权利要求2所述的数字设备系统,其特征在于,当所述特定块充满时,指定除了所述特定块之外的一个自由块或可用块以存储FSInfo信息的更新版本。
5.如权利要求4所述的数字设备系统,其特征在于,当指定所述自由块时,继续将更新的FSInfo扇区信息写入不同于所述特定块的所述自由块或可用块的扇区单元。
6.如权利要求1所述的数字设备系统,其特征在于,写入所述FSInfo扇区信息的第一时间,将其写入所述特定块的第一单元。
7.一种非易失性存储器系统,包括非易失性存储器存储单元,被组织为块,每个块包含多个用于存储扇区信息的扇区单元,特定自由块,被指定用于存储FSInfo扇区信息,其中,在更新FSInfo扇区时,将更新的FSInfo扇区信息写入专用块的下一个自由扇区,从而避免将所述特定块的扇区移到另一个块,以此改善系统性能。
8.如权利要求7所述的非易失性存储器系统,其特征在于,通过连续对所述特定块的每个所述扇区单元进行写入直到所述块充满为止,用FSInfo扇区信息填充所述特定块。
9.如权利要求8所述的非易失性存储器系统,其特征在于,当所述特定块充满后将其擦除。
10.如权利要求8所述的非易失性存储器系统,其特征在于,当所述特定块充满时,指定不同于所述特定块的一个自由块或可用块,用于存储FSInfo信息的更新版本。
11.如权利要求10所述的非易失性存储器系统,其特征在于,当所述特定块充满时,继续将更新的FSInfo扇区信息存储在不同于所述特定块的所述自由块或可用块。
12.如权利要求7所述的数字设备系统,其特征在于,写入所述FSInfo扇区信息的第一时间,将其写入所述特定块的第一单元。
13.一种提高对包含非易失性存储器存储单元的非易失性存储器系统写操作速度的方法,包括将所述非易失性存储单元组织为块,每个块包括多个用于存储扇区信息的扇区单元;指定一个具有多个用于存储FSInfo扇区信息的扇区单元的特定自由块;将FSInfo扇区信息写入所述特定块的所述多个扇区单元的扇区单元的其中之一;接收更新的FSInfo扇区信息;通过将更新的FSInfo扇区信息写入所述特定块的下一自由扇区单元将所述FSInfo扇区信息更新;避免将所述特定块的扇区移到另一个块,以此改善系统性能。
14.如权利要求13所述的方法,其特征在于对所述特定块的第一单元执行权利要求13的所述写入步骤。
15.一种非易失性存储器系统,包括非易失性存储器存储单元,被组织为块,由虚拟逻辑块地址(VLBA)标识的每个块包括多个用于存储扇区信息的扇区单元,由物理块地址(PBA)标识每个扇区单元,由第一LBA标识并包含由N个PBA标识的N个扇区单元的一个特定自由块,被指定用于存储特定类型的扇区信息,所述特定类型的扇区信息,所述特定类型的扇区信息是被检测为与其它扇区信息相比频繁受访问或更新的那种。其中,当更新所述特定类型的扇区信息时,将更新的特定类型的扇区信息写入由第一LBA标识的专用块的下一自由扇区,从而避免将所述特定块的扇区移到另一个块,以此改善系统性能。
16.如权利要求15所述的非易失性存储器系统,其特征在于每次更新所述特定类型的扇区信息时,将其写入所述专用块的N个单元的其中之一,直到写入所有的所述N个单元为止,其后,将所述特定类型的扇区信息写入由第二LBA标识的块,并且其后的每次,将所述特定类型的扇区信息的更新版本写入由第二LBA标识的块,直到后者充满为止。
17.如权利要求15所述的非易失性存储器系统,其特征在于,使用阈值标识所述特定类型的扇区信息,以确定对哪一个扇区的访问比对其他扇区的访问多,并且在何时对一个扇区的访问次数超过所述阈值时,以将所述扇区指定为特定类型的扇区信息。
18.如权利要求17所述的非易失性存储器系统,其特征在于执行固件以控制所述非易失性存储器系统,并将所述阈值编程到所述固件中。
19.如权利要求15所述的非易失性存储器系统,其特征在于,所述特定类型的扇区信息是FSInfo扇区信息。
20.如权利要求15所述的非易失性存储器系统,其特征在于,每次更新所述特定类型的扇区信息时,将其写入到不同的专用块。
21.如权利要求15所述的非易失性存储器系统,其特征在于所述特定类型的扇区信息包括开销部分,并且使用一个访问计数器值以保持对所述特定扇区的访问次数,所述访问计数器值存储在所述开销部分中。
22.一种提高对包含非易失性存储器存储单元的非易失性存储器系统写操作速度的方法,包括将所述非易失性存储单元组织为块,每个块包含多个用于存储扇区信息的扇区单元;指定具有多个用于存储频繁受访问的扇区信息的扇区单元的特定自由块;将所述频繁受访问的扇区信息写入所述特定块的多个扇区单元的扇区单元的其中之一;接收更新的频繁受访问的扇区信息;通过将所述频繁受访问的扇区信息写入所述特定块的下一自由扇区单元而更新所述频繁受访问的扇区信息;避免将所述特定块的扇区移到另一个块,以此改善系统性能。
23.如权利要求22所述的非易失性存储器系统,其特征在于所述频繁受访问的扇区信息是FSInfo扇区。
全文摘要
本发明的一个实施例包括一种包括将写命令发送到具有扇区信息的写文件的主机以及与对FSInfo扇区信息执行写操作和更新操作的命令相对应的控制器装置。所述控制器控制组织为块的非易失性存储器系统,每个块包含多个用于存储扇区信息的扇区单元以及一个指定用于存储FSInfo扇区信息的特定自由块。当更新所述FSInfo扇区时,将所述更新的FSInfo扇区信息写入所述专用块的下一自由扇区,从而避免将所述特定块的所述扇区传送到另一个块,以此改善系统性能。
文档编号G06F11/10GK1658171SQ20041010198
公开日2005年8月24日 申请日期2004年12月10日 优先权日2003年12月19日
发明者P·埃斯塔克里, S·内马兹 申请人:雷克萨媒体公司

最新回复(0)