控制由可与主机连接的通信设备包括的用于大容量存储的闪速存储器的方法,和用于执...的制作方法

文档序号:9278169阅读:374来源:国知局
控制由可与主机连接的通信设备包括的用于大容量存储的闪速存储器的方法,和用于执 ...的制作方法
【专利说明】控制由可与主机连接的通信设备包括的用于大容量存储的闪速存储器的方法,和用于执行所述方法的计算机程序产口叩
技术领域
[0001]本发明涉及一种用于控制闪速存储器的方法,所述闪速存储器由可与主机连接的通信设备包括并且写入要存储的数据用于大容量存储。本发明此外还涉及一种用于执行所述方法的计算机程序产品。
【背景技术】
[0002]大容量存储器可以是USB记忆棒(USB:通用串行总线),例如用于数码相机,移动电话或多媒体播放器的或SSD形式的存储卡(SSD:固态硬盘)。大容量存储器包括具有存储控制器功能的单元和一个或多个非易失性存储器模块。能够使用所谓的闪速EEPROM-半导体存储器(EEPR0M:电可擦除可编程只读存储器)作为存储器模块,所述存储器模块不需要电压源来保护已存储的信息。具有不同的闪存类型,其根据结构和所使用的存储方法来区别。结构在以下理解为在存储模块中存储部件的布置。使用的存储方法在以下理解为在存储部件内部用于存储的电压水平的数量。例如闪存类型有NOR-闪存,NAND-SLC (Single-Level Cell:单层单元)和 NAND-MLC (Mult1-Level Cell 多层单元)。
[0003]为了能够将数据写入闪速存储器模块,也称作闪速存储器,必须先擦除存储器模块中要写入数据的存储单元。每个存储单元分别包括至少一个存储部件用于存储位,所述的位可以具有逻辑值“O”或“1”,因此通常只有在与写入相比更大的区域中,所谓的块,也称作擦除块中才能擦除各个存储单元。块在以下定义为闪速存储器中只能被共同擦除的最小数量的字节。一个块包括2Z个字节(Z > 13) O典型的用于存储文件的块容量按kB计分别为8、16、32、64、128或256kB。在写入或写上闪速存储器的存储部件(也称作写入单元或页)时与块相比较小的单元定义为闪速存储器中最小的字节数量,所述字节只能共同擦除。块(也称作擦除单元)和写入单元的容量与闪速EEPROM类型及其容量有关。NOR-闪存具有8kB至256kB之间的块容量,典型为64kB,其中写入单元为I个字节。在写入单元为512字节的页面的情况下可以得到更小的块容量为16kB的NAND闪速存储器。具有128、512或2048kB块容量的更大的NAND闪速存储器使用(页面)容量为2、4或8kB的页。每个单元中擦除和写入操作的最大可能的数量在技术条件上受到限制并且与闪速存储器的类型有关。通过擦除,各个位在存储单元中设置为值“1”,其中通过写入,位设置为值“O”。为了实现各个存储位置的均匀的“磨损”和使用寿命,在擦除之前将全部的位编程设置为值“0”,以便然后在擦除时设置为值“I”。由此更小的NAND闪速存储器能够写入包括512字节的写入单元,但是只能以至多为16.384字节(16kB)的块的形式擦除。主机或主机系统在写入时所使用的最小的数据量取决于扇区的容量,所述扇区定义为在主机或主机系统的文件系统中,也称作File-system中共同处理的最小单位。工作存储器和/或闪速存储器至少原则上能够处理扇区的所述最小单元的部分区域。扇区包括22字节的存储容量,其中z > 3,通常包括512字节。如果想通过闪速存储器实现USB大容量存储装置,像USB记忆棒,则会遇到上述的用于写入/擦除的存储容量不对称的问题,这是因为常用的文件系统,例如FAT(File allocat1n Table文件分配表),FAT32等使用512字节容量的扇区,所述容量与更小的NAND闪速存储器的写入单元的容量相对应。
[0004]为了在全部的块上均匀分布擦除和写入操作,昂贵的存储控制器不仅拥有用于控制必要的擦除/写入操作的控制能力,而且该存储控制器还拥有控制能力用于读取,擦除和将数据写入适合于所述数据的单元之中并加上错误校验,用于在存储单元中在全部的块上均匀分布写入/擦除操作(所谓的wear-leveling:平均抹写),用于管理有缺陷的块和必要时具有一种用于“重新激活”已存储的数据的方法。在这种情况下存储控制器为了实施上述过程需要表,利用该表管理和连接在存储控制器与主机的接口处寻址的逻辑单元和在闪速存储器中使用的物理单元。在更加复杂的存储控制器中,还要按照OSI七层模型(OpenSystem Interconnect1n Reference Model:开放式系统互联参考模型)使用来自较高的层的额外的信息,例如来自在主机中所使用的文件系统,用于控制存储控制器:例如主机通过特殊的指令(TRIM指令,参见W02012/062233)通知存储控制器关于可能擦除的逻辑数据块的信息。
[0005]如果要存储的数据量及其更新频率低于在主要应用大容量存储器这种情况下,例如将闪速存储器作为可与主机连接的通信设备的次要设备用于大容量存数据,则能够简化地执行大容量存储器的功能。在这种情况下可以放弃包括上述昂贵的控制方法和表的大容量存储器的单独的存储控制器,通过该表寻址的逻辑单元在存储控制器与主机之间的接口处与在闪速存储器中使用的物理单元相连接。
[0006]在图1中表示了通信设备2,所述通信设备与主机I连接并且在其中作为大容量存储器的闪速存储器9没有应用为主要设备用来存储数据,而是应用为次要设备。通信设备具有键盘3形式的操作终端,其中在显示器4上向使用者显示通信设备2的要显示的运行状态。通过键盘和/或其它操作元件输入指令以及在显示器4中显示通信设备2的运行状态表示了通信设备2的主要功能。例如在通信没备2中使用了闪速存储器9,以便存储配置数据和/或保持应该在显示器4上显示的相关语言的文本。例如用不同的语言显示的文本,例如,德语,英语,法语等,能够根据相应的输出文本保存在闪速存储器9中,其中使用者在配置通信设备2的过程中能够选择某种确定的语言,例如德语。然后尽管在配置之后不会使用所述文本,仍将非德语的显示文本保存在作为大容量存储器的闪速存储器9之中。
[0007]在图2中表示了简化地执行大容量存储器的功能。闪速存储器9 “NOR-闪存”没有自己的存储控制器,而是通过主处理器6,也称作CPU(中央处理器)一同管理。主处理器6从主机I接收为闪速存储器9规定的指令并执行读取,写入,擦除操作。为了产生主处理器6的工作能力,该主处理器与程序存储器8和工作存储器7,例如RAM (随机存取存储器)相连接。显示器4像键盘一样与主处理器6连接。主机I通过主机接口5与主处理器6连接,所述主机接口在图2表示的通信设备2中布设在通信设备2的内部。由主机I寻址的闪速存储器9的存储单元或存储区域/存储扇区在没有从逻辑单元转换成物理单元的情况下直接在闪速存储器9上面响应。
[0008]因为将省却借助单独的存储控制器的从主机I的逻辑单元到闪速存储器9的物理单元的寻址,因此主机I的文件系统的,即主机I的应写入闪速存储器9的扇区将在主机I规定用于写入这些扇区的位置写入闪速存储器9。
[0009]在图3中表示了简单的、用于将主机I的数据存储在闪速存储器9之中的方法,即在不同的时间点通过带标记“t”的箭头方向标出。在闪速存储器9的块10中,存储单元规定为存储扇区SI到SN形式,扇区I到N分别在时间点tl存入这些存储单元之中。为了向块10写入主机I的新的扇区SSl,在存储单元SI到SN中存储的扇区I到N由块10复制到工作存储器7,11。因此在时间点t2,在时间点tl时存储在块10中的扇区I到N存储在工作存储器7中。将要存储的新的扇区SSl处于块10中,在写入所述扇区SSl之前必须将所述块擦除。在此未写入涉及的存储单元的数据在要写入的块10中不会发生变化并且必须保持不变。因此,扇区1-10形式的数据从完整的块10下载到工作存储器7中,11。然后在时间点t4通过写入新的扇区SSl改变工作存储器7,13。在将扇区1-10复制到工作存储器7之后在时间点t3擦除块10,12。在第12步中擦除块10之后,只有具有擦除的存储部件SG的擦除的存储单元位于块之中。在时间点t5通过存储在工作存储器7中的数据包括新的扇区SSl对已经完全擦除的块10进行编程,14。由此在时间点t5利用扇区1-N的内容的数据对块10进行编程,其中扇区被新的扇区SSl取代。因此为了将扇区写入闪速存储器9之中,必须完全地擦除块10和将N个扇区编程到闪速存储器9之中,其中N不仅表示块10中的最后扇区,而且额外地表示每个块10中要编程到存储单元SI到SN中的扇区的数量。“将扇区1-N复制到工作存储器7,11”和“在工作存储器7中编程新的扇区SS1,13”的操作相对于“擦除块10,12”和“将扇区1-N编程到块10之中,14”的操作只需要很短的时间。因此在均衡用于将主机I的数据存储到闪速存储器9之中的费用的时候可以忽略操作11和13。
[0010]当在图3中只有一个扇区SSl写入闪速存储器9之中,而在图4a和图4b中则表示下述情况,即在其中多个扇区SS2,SS3从主机I写入闪速存储器9的块10之中。在图4a中假定,块10在时间点t5处于按照图3的状态。为了将扇区SS2写入块10,再次将扇区I到N从块10复制到工作存储器7之中,11,因此在工作存储器7中存储状态在时间点t6时与图3所示的在时间点t4时的存储状态相对应。然后在时间点t7再一次地擦除块10,借此全部的存储单元作为擦除的存储单元SG存在于块10之中。除了新的扇区SSl之外将新的扇区SS2编程到工作存储器7之中,13,其中在时间点t8新的扇区SS1,SS2已存储在工作存储器7之中,所述扇区事先替代扇区I到N的存储的扇区。随后将扇区I到N包括新的扇区SSl和SS2编程到擦除的块10中,14,15,以至于在时间点t9块10除了扇区I到N还包括新的扇区SS1,SS2,见图4b。然后块10的全部内容再次复制到工作存储器7之中,11,并且随后在时间点til将块10完全擦除。工作存储器7的存储内容在时间点tlO包括新的扇区SSl和SS2通过存储新的扇区SS3在时间点tl2得以扩展。除了扇区I到N之外在时间点tl2所述扇区中有3个被新的扇区SSl到SS3取代。通过将已更新的扇区I到N编程到擦除的块10之中,对工作存储器7的存储内容执行编程,14,15,借此在块10中对扇区I到10进行编程,包括用于取代扇区I到N中三个扇区的新的扇区SSl到SS3。当主机I需要将多个扇区I到N写入闪速存储器9之中的时候,必须针对每个要写入的扇区SSl
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1