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

文档序号:9278169阅读:来源:国知局
[0026]在另一个实施方式中,除了第一要写入的存储单元的内容之外接口提供有关在第一存储单元之后的存储单元的数量的附加信息。因此当主机需要将一定数量的扇区写入闪速存储器,所述扇区的大小分别与存储单元的一定数量的存储部件相对应,则主机通过接口向闪速存储器发送任务,将第一扇区连同附加信息写入闪速存储器之中,使得在M个要写入的扇区中还跟随M-1个扇区。闪速存储器的块,在其中第一扇区应写入存储单元的存储部件的一部分,必须在写入扇区之前进行擦除,原因在于只能擦除完整的块。在该块中在写入过程中没有写入涉及的存储单元的数据在写入过程期间不允许改变并且必须保持不变。对此将来自完整的块的数据中间存储在例如通信设备的工作存储器中,通过替换已中间存储的部分数据将即将写入的数据添加给中间存诸的数据,擦除闪速存储器中完整的块和通过包括要写入的数据的中间存储的数据对其重新编程。在此只对闪速存储器中那些必须保持不变的数据进行编程,即第一扇区S前面的那些扇区,以及从S+M扇区起的那些扇区,其中同样对已经包含新数据的第一扇区S本身进行编程。当后面的扇区S+1至S+M-1是由主机传输,则将所述扇区分别编程到闪速存储器中所提供的已经擦除的区域中。通过这种方法,闪速存储器中那些要写入的、其数据在写入之后与写入之前相比不变的区域,既不会擦除也不写,而是为那些向所述区域写入新的数据的写入过程保留。因此,即使没有关于在闪速存储器中即将写入的数据的内容的信息,只通过关于要写入的数据量的信息也能够,在不会丢失已存储的数据的情况下节省擦除和写入操作。
[0027]在优选的实施方式中,由主机传输的在闪速存储器的块的至少一个存储单元中要写入的数据在写入至少一个存储单元之前发生反转。通过这种方式可以在对未用过的存储单元使用十六进制值“0x00 “的文件系统中通过反转生成数值“OxFF “,该值与闪速存储器中擦除的,没有写的存储单元的值相符合。反转是通过下述方式进行,将每个数值为“0“的位转换成数值为“I “,反之亦然。通过这种方式,文件系统的未用过的、具有数值“0x00“的区域转换成数值为“OxFF “的区域。因为在闪速存储器中字节的数值“OxFF “与擦除的,没有写的状态相对应,在反转之后不再对文件系统的未用过的区域进行编程。只有当文件系统的内容在该区域中发生变化并且包括其他数值作为“0x00“的时候,在反转之后也必须将该区域编程到闪存之中。但是在编程之前不要求擦除,这是因为擦除的区域还一直包括具有数值为“OxFF”的未擦除的字节和如果不先擦除不能覆盖。数值“O “对应于十六进制值“0x00“,其中例如位置文件分配表FAT的两次复制在未使用的位置具有数值“O “。文件系统的未使用的部分经常写入,其中没有发生变化。对于闪速存储器,在每一个过程中写入意味着擦除并重新编程存储单元。通过文件系统的未使用的区域的反转这些区域的数值反转成闪速存储器的擦除的,没有写入的区域的值。通过使文件系统的未使用的区域的值与擦除的存储单元的值的所述均衡,不再要求对这些区域进行编程。因此利用该实施例实现进一步节省擦除和/或写入操作。
[0028]在另一个实施方式中,在多个要写入的、要传输的数据会写入其中的存储单元中,用于全部存储单元的数据发生反转。虽然该实施方式具有下述缺点,即必须为文件系统的已使用的、不含数值“0x00”区域进行反转,以便能够在从闪速存储器读取的过程中使用这些数据。但是该实施例也有优点,闪速存储器不需要有关要存储的数据的逻辑内容的信息。“数据反转”操作类似于“复制扇区I到N”,11,见图3,图4a和图4b和“将新的扇区编程到工作存储器中,13,,见图3,图4a和图4b”等操作,可以忽略掉,这是因为它们只需要部分时间用于擦除块,12,和对块进行编程,14。
[0029]在另一个实施方式中与此相对应地规定,应写入闪速存储器中的主机的数据的未使用的字节,在保存在接口中的情况下具有十六进制值0x00的字节,在反转之后在闪速存储器中具有擦除的字节的十六进制值OxFF,和替代将十六进制值OxFF写入擦除的存储单元在没有重新擦除的情况下保持在擦除状态。
[0030]除了用于控制闪速存储器的方法本发明此外还涉及用于执行这种方法的计算机程序产品。例如计算机程序产品能够以软件的形式存在。计算机程序产品可以作为二进制数据存储在软盘,DVD,CD-ROM或存储卡上面。此外计算机程序产品还能够以打印源代码的形式存在。
[0031]本发明此外还包括一种通信设备,计算机程序产品安装在所述通信设备上面。通信设备具有与按照本发明的用于控制闪速存储器的方法相符合的作用和优势和能够作为台式机,笔记本电脑,服务器,固定电话,移动电话,智能电话或平板电脑存在。通信设备可连接的主机可以作为服务器或其它主机存在。主机能够除了作为能联网的电脑的复合结构和/或网络之外还能够以主机系统的形式存在。由此主机也可以构成互联网或以太网。
【附图说明】
[0032]下面借助图5至图8来说明本发明的另外实施例以及优势。为了取得更清楚的显示效果在图中没有完全按比例尺或比例的进行显示。如果未加另行说明,在图中相同的符号代表具有相同意义的相同的单元,其中参考已经讨论的图1至图4b的标记。其中:
[0033]图1示出传统的通信设备,所述通信设备包括闪速存储器9,
[0034]图2示出在图1中表明的传统的通信设备,其中闪速存储器的控制通过主处理器进行,所述主处理器通过接口与主机连接,
[0035]图3示出用于将扇区存储在闪速存储器中的传统方法,
[0036]图4a和4b示出用于将多个扇区存储在闪速存储器中的传统方法,
[0037]图5a和5b示出按照本发明的用于将多个连续的扇区存储在闪速存储器中的方法的第一实施方式,
[0038]图6a和6b示出按照本发明的用于将主机的特定的扇区存储在闪速存储器中的方法的另一实施方式,
[0039]图7a和7b示出按照本发明的通过反转来将主机的特定的扇区重写在闪速存储器中的方法的另一实施方式,以及
[0040]图8a和Sb分别示出表,鉴于擦除操作的次数(图8a)和编程操作的次数(图8b)用于比较在图4至图7中示出的方法。
【具体实施方式】
[0041]在图5a和5b中表明按照本发明方法的第一实施方式,在其中有多个连续的扇区SSN, SS1N,SSMN应该存储在闪速存储器9的块10中。在时间点tl,将扇区I到N存储在块10的存储单元SI到SN中。在这之后将扇区I到N复制到工作存储器7中,11,以便在时间点t2扇区I到N已经存储在工作存储器7中。在时间点t3完全擦除块10,以致于存储单元SI到SN的每个处于擦除状态SG。在时间点tl到时间点t3的方法步骤与在图3中表现的不同。M个扇区应该从主机I编程到闪速存储器9中。所述M个扇区分成扇区S新,SSN,扇区S+1新,扇区SS1N,其它扇区和扇区S+M-1新,SSMN,其中M是整数。替代只将第一要写入的扇区SSN写入工作存储器,如在图3中在时间点t4表明的那样,通过接口 5将第一要写入的扇区SSN和向通信设备2传输的信息INl,即后面还有M-1个扇区要写入闪速存储器9中,写入工作存储器。在时间点t20只有第一扇区SSN保存在工作存储器7中,21,其中并不是工作存储器7的全部内容在时间点t20编程到擦除的块10中。而是对扇区I到S-1’ S作为新的扇区和扇区S+M至N进行编程,22。因此在时间点t21擦除布置在扇区SSN和扇区S+M之间的存储单元。块10的这个擦除的区域SSG可供下述的写入操作或写入过程使用,用于将主机的新的数据写入块10中。因此通信设备2或闪速存储器9的控制这样地将信息INl (还有M-1个扇区用于写入闪速存储器9)应用于块10,使得还没有写入闪速存储器9的块10中的扇区SSlN至SSMN作为擦除的区域SSG保留在块10中。在时间点t22利用下一个要写入的扇区S+1新,SSlN写工作存储器7,其中从接口 5除了下一个要写入的扇区SSlN之外还向通信设备2传输信息IN2,即后面还跟随M-2个扇区用于写入块10。信息IN2传输给闪速存储器的控制,所述控制在图2中表明的通信设备2中,通过主处理器承担。然后在块10中只对新的扇区S+1新,SSlN编程,24,块10由此在时间点t23除了第一新的扇区SSN还存储第二扇区SS1N。按照时间顺序,在图3,4a,4b,5a,5b,6a,6b,7a和7b中用字母t和向下的箭头表示,将各个扇区从接口 5存储到工作存储器7并且从那里存储到块10中的方法会延续下去,这在图5a中通过表述“等等”和箭头25表明。一旦可以将最后要存储的扇区SSMN写入块中,该扇区被存储在工作存储器7中,并且最后新的要存储在闪速存储器9之中的扇区S+M-1新,SSMN存储在擦除的单元的区域SSG的最后仍保留的处于擦除状态SG的存储单元中。在即将依次存储的M个扇区的最后的扇区中,不会再由接口向闪速存储器9的控制传输任何其它信息,这是因为不需要这样的信息。因为擦除的、保留的区域SSG基于第一信息INUM-1个扇区要存储到闪速存储器9的块10中)是这样保留,使得该擦除的区域足以应对全部即要写入块10的M个扇区。如果在另一个实施方式中只要求传输信息IN1,即还有M-1个扇区要写入存储器中,其中可以取消信息IN2,其后面还有M-2个扇区要写入闪速存储器9中。
[0042]当主机I需要将一定数量的连续的扇区M写入闪速存储器9之中,并且将所述要写入的扇区全部写入块10的存储单元的时候,那么擦除一次在闪速存储器9中的块10并且在闪速存储器9中对N个存储单元编程。如果连续的扇区分成多个块,是如下的情况,即S和M的和大于块中存储单元的数量N,则必须将全部用于存储的块B分别擦除一次和在闪速存储器9中对BxN个扇区编程。在这种情况下假定,存储单元的数据量与扇区的数据量相对应。
[0043]在512字节的扇区容量和16kB的块容量的情况下在写入闪速存储器9时要求下述操作:
[0044]-4kB的文件相当于8个扇区(在一个块中)相当于I次块擦除和32扇区编程,
[0045]-4kB的文件相当于8个扇区(在两个块中)相当于2次块擦除2X32 = 64扇区编程,
[0046]-1OkB的文件相当于20个扇区(在两个块中)相当于2次块擦除和2X32 = 64扇区编程,
[0047]-16kB的文件相当于32个扇区(在两个块中)相当于2次块擦
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1