闪存及其在光驱中动态加载固件操作模块的方法

文档序号:6756942阅读:110来源:国知局
专利名称:闪存及其在光驱中动态加载固件操作模块的方法
技术领域
本发明涉及一种闪存和一种用于向光驱动态加载一固件操作模块的方法,当需要时可以在该闪存中下载用于调试一光驱的代码和用于控制该光驱的代码,并连续地执行和随后删除这些代码。
背景技术
光驱的闪存存储用于驱动该光驱的固件代码、用于调试该光驱的代码和用于控制该光驱的代码。
固件通常是一种连接软件和硬件的介体。例如,当若干硬件被安装到一主板上时,即使是该硬件的电源被接通,在没有固件的情况下,不能驱动该硬件。另外,为了访问每个装置以执行一应用程序所预期的操作,需要适当的介体,即固件。所述固件执行很多功能,诸如是运行一硬件、缓冲硬件与软件的冲突、和向硬件传送由所述软件控制的内容等。所述固件被装载在一计算机的格式(FORM)区域中;因此,即使当电源被关闭时也能存储数据。因此,所述固件包含若干接通所述计算机电源所需的例行程序和若干自动运行的程序。
调试表示一种处理,在这种处理中,光盘驱动器发现和校正错误,即消除或避免错误。
当固件区域的功能增加时,固件代码增加;因此,只有有限的空间能够被用于向所述光驱添加用于调试该光驱的代码和用于控制该光驱的代码。在实际的用户环境中,并不需要在开发光驱中所使用的所述光驱调试码和所述光驱控制码。例如,所述实际用户环境是由一用户所进行的闪存的正规操作,这种操作并不包括诸如调试码和光驱控制码的用于开发所述光驱的操作码。由于安装了具有增加的对象尺寸和用于调试、控制和执行其它操作的附加代码的固件,所以,闪存的可记录区域减小了。

发明内容
本发明提供一种闪存,在该闪存中,当需要时,可以向其加载用于调试一光驱的代码和用于控制该光驱的代码,执行所述代码的功能,并随后删除这些代码。
本发明的一个方面还提供了一种将一固件操作模块动态地加载到一光驱上的方法,借助于该方法,具有各种功能的一固件可以被安装到所述闪存的一个小区域中,并在该闪存的小区域中有效执行调试和控制所述光驱的操作。
根据本发明的一个方面,提供了一种闪存,包括被分配用于从一外部源接收、执行和删除一固件操作模块的一第一区域,和被分配存储用于加载存储在所述第一区域中的所述固件操作模块的代码、用于执行存储在所述第一区域中的所述固件操作模块的代码和一固件码的一第二区域。
根据本发明的一个方面,所述固件操作模块包括用于调试一光驱的代码和用于控制该光驱的代码。
根据本发明的一个方面,用于加载存储在所述第一区域中的所述固件操作模块的代码和用于执行存储在所述第一区域中的所述固件操作模块的代码被分配给除所述第一和第二区域外的另一个区域。
根据本方面的一个方面,提供了一种利用一光驱执行固件动态加载的方法,该方法包括从所述光驱向一存储多个固件操作模块的主机传送一用于使所述主机向所述光驱加载一固件操作模块的命令、使用存储在所述闪存中的一固件操作模块加载码向所述光驱的闪存的任一区域加载所述固件操作模块、和将存储在所述闪存中的一固件操作模块执行码传送给所述任一区域并使用所述固件操作模块执行码执行所述固件操作模块。
根据本发明的一个方面,在所述固件操作模块执行码被传送给所述任一区域并被执行之后,该任意区域被清除。
根据本发明的一个方面,所述闪存包括一被分配执行和删除从所述主机下载的一固件操作模块的区域,和被分配存储用于从在前区域下载所述固件操作模块的代码、用于执行存储在所述在前区域中的所述固件操作模块的代码和一固件码的另一区域。
本发明的附加方面和/或优点部分地将在下面进行描述,部分地将从该描述中看出,或通过本发明的实践可以学习到。


通过下面结合附图对实施例的描述,本发明的这些和/或其它方面都将变得更加明显和更容易理解。其中图1A和1B示出了根据本发明一实施例的闪存的结构;和图2的框图示出了根据本发明一实施例在光驱中动态加载一固件操作模块的方法。
具体实施例方式
下面将参考附图详细描述本发明的实施例,所述附图中示出了这些实施例的例子,其中,在整个附图中,相同的标号表示相同的元件。下面将参照附图解释所述实施例。
图1A所示的闪存包括至少一个动态分配区域100a、一个动态模块加载码区域102a、一个动态模块执行码区域104a和一个固件码区域106a。例如,所述动态模块可以被分别存储在所述闪存中并在运行时可选择地装载。
所述动态分配区域100a被用于存储、执行和删除从一主机接收的一固件操作模块(例如用于调试一光驱的代码和控制该光驱的代码)。为了执行一固件操作,一固定地址的区域被分配给所述闪存的某个区域。例如,所述固件操作模块被存储在所述动态分配区域100a中,从所述动态分配区域100a顺序执行所述固件操作模块,然后从所述动态分配区域100a中删除该固件操作模块。
现存闪存存储光驱调试码和光驱控制码。但是,由于用户在闪存的正常操作期间内既不使用光驱调试码也不使用光驱控制码,所以,只有在需要时才从主机向所述动态分配区域100a下载所述光驱调试码和光驱控制码,然后再执行和删除这些码。
动态模块加载码区域102a存储用于从主机加载一固件操作模块的代码(此后,该代码被称之为动态模块加载码)。使用该动态模块加载码,从主机输出的所述固件操作模块能够被加载到动态分配区域100a中。
动态模块执行码区域104a存储用于执行所述固件操作模块的代码。使用所述动态模块执行码,可以执行存储在所述动态分配区域100a中的固件操作模块。
固件码区域106a存储用于执行所述光驱的固件码。
如图1A所示,动态模块加载码区域102a和动态模块执行码104a彼此相互分开并分别存储所述动态模块加载码和所述动态模块执行码。
但是,图1B的闪存包括动态分配区域100b和固件码区域102b,分别用于存储一动态模块加载码、一动态模块执行码和一固件码。这些区域对应于图1A所示的区域102a和106a,所以省略其描述。
图2的框图示出了根据本发明一个方面用于在一光驱中动态加载固件操作模块的方法。现在将参照图1A来进行描述。向/从图1A所示闪存输出/输入数据是由光驱的控制器(未示出)控制的。
图2所示固件操作模块被存储在主机中。由于在正常用户操作期间并不需要调试光驱的代码和控制该光驱的代码,所以,只有在需要时这些代码才被加载到闪存中,进而在该闪存中执行并删除这些代码。存储在所述主机中的固件操作模块由多个对象组成。
当所述主机在操作步骤200向光驱发出模块加载命令时,通过在操作步骤202执行所述动态模块加载码将需要的固件操作模块加载到动态分配区域100a中。
当需要的固件操作模块被加载到动态分配模块100a时,主机在操作步骤204向光驱发出一模块执行命令。
在操作步骤206,响应于来自主机的所述模块执行命令,所述光驱将存储在动态模块执行码区域104a中的动态模块执行码加载到动态分配区域100a中,并在操作步骤206使用该动态模块执行码执行该固件操作模块。
然后,清除动态分配区域100a,以便能够执行下一个固件操作模块。
如上所述,当需要时,所述光驱调试码和光驱控制码被下载到闪存中,执行被下载到所述闪存中的每个码的功能,然后删除被下载到所述闪存中每个已执行的码。因此,所述闪存区域的效率被最大化。另外,具有各种功能的固件被安装在闪存的一小区域中并在闪存的该小区域中有效执行调试和控制所述光驱的操作。
虽然已经示出和描述了本发明的几个实施例,但本领域内的普通技术人员应当理解,在不脱离本发明的原理和精神、权利要求及其等效物所定义的范围的前提下,可以对这些实施例做出改变。
权利要求
1.一种闪存,包括第一区域,在其中执行和删除从一外部源接收的固件操作模块;和第二区域,被分配存储一用于加载存储在所述第一区域中的所述固件操作模块的码、一用于执行存储在所述第一区域中的所述固件操作模块的码和一固件码。
2.根据权利要求1所述的闪存,其中,所述固件操作模块包括一用于调试一光驱的码和一用于控制该光驱的码。
3.根据权利要求1所述的闪存,其中,用于加载存储在所述第一区域中的所述固件操作模块的码和用于执行存储在所述第一区域中的所述固件操作模块的码的每一个被分配给除所述第一和第二区域以外的一个区域。
4.根据权利要求2所述的闪存,其中,所述固件操作模块是一动态模块。
5.一种用于由一光驱执行固件动态加载的方法,该方法包括从所述光驱向一存储多个固件操作模块的主机传送一使所述主机向所述光驱加载一固件操作模块的命令;使用存储在所述闪存中的一固件操作模块加载码将所述固件操作模块加载到所述光驱的闪存的一任一区域中;和将存储在所述闪存中的一固件操作模块执行码传送给所述任一区域,并使用该固件操作模块执行码执行所述固件操作模块。
6.据权利要求5所述的方法,还包括在传送和执行所述固件操作模块执行码后,删除在所述任一区域中所存储的码。
7.根据权利要求5所述的方法,其中,所述闪存包括分配一第一区域,用于执行和然后删除从所述主机下载的一固件操作模块;和分配另一区域,用于存储一用于从所述第一区域下载所述固件操作模块的码、存储一用于执行存储在前述区域中的所述固件操作模块的码,和存储一固件码。
8.根据权利要求5所述的方法,其中,所述固件操作模块是一动态模块。
9.一种闪存,包括一存储区域,用于暂存在一硬件设备正常操作期间用户不使用的所述硬件设备的操作码;和另一存储区域,用于存储多个用于加载所述硬件设备的每个暂时存储的操作码的加载码和存储多个用于执行所述硬件设备的每个暂时存储的操作码的执行码,其中,当需要使用所述操作码并从一主机接收该操作码时,该操作码被存储在所述存储区域中。
10.根据权利要求9所述的闪存,其中,所述硬件设备的操作码包括一固件操作模块。
11.根据权利要求9所述的闪存,其中,所述硬件设备是一光驱。
12.根据权利要求11所述的闪存,其中,所述光驱的操作码包括一调试码,用于调试一光驱;和一用于控制所述光驱的码。
13.根据权利要求9所述的闪存,其中,所述存储区域是一存储、执行和删除所述操作码的动态分配区域。
14.根据权利要求9所述的闪存,其中,所述加载码被存储在与所述执行码分开的闪存的存储位置中。
15.一种在闪存中动态分配一操作码的方法,包括将用户在一硬件设备正常操作期间不使用的所述硬件设备的操作码存储在一动态存储区域中;和分配另一存储区域,用于存储一加载暂时存储的所述硬件设备的操作码的加载码和存储一执行所述暂时存储的所述硬件设备的操作码的执行码;其中,当需要使用所述操作码并从一主机接收所述操作码时,将所述操作码存储在所述动态存储区域中。
16.根据权利要求15所述的在闪存中动态分配所述操作码的方法,其中,所述硬件设备的操作码由一固件操作模块组成。
17.根据权利要求15所述的在闪存中动态分配所述操作码的方法,其中,所述硬件设备是一光驱。
18.根据权利要求17所述的在闪存中动态分配所述操作码的方法,其中,所述光驱的操作码包括一调试码,用于调试所述光驱;和一用于控制所述光驱的码。
19.根据权利要求15所述的在闪存中动态分配所述操作码的方法,其中,还包括在执行所述操作码之后,删除暂时存储在所述动态分配存储区域中的所述操作码。
20.根据权利要求15所述的在闪存中动态分配所述操作码的方法,其中,还包括将所述加载码存储在与所述执行码分开的所述闪存的一存储位置中。
21.一种用于将一固件操作模块动态加载到一光驱上的方法,包括将一命令从所述光驱传送给一主机,以将所述固件操作模块下载到所述光驱;使用存储在所述闪存中的一固件操作模块加载码将所固件操作模块下载到包括在所述光驱中的一闪存的一任一区域中;将存储在所述闪存中一固件操作模块执行码传送给所述任一区域;使用所述固件操作模块执行码执行所述固件操作模块的功能;和删除存储在所述闪存的所述任一区域中的已执行的固件操作模块,其中,所述固件操作模块的功能包括用于调试所述光驱的操作和/或用于控制所述光驱的操作。
全文摘要
一种闪存,其中,当需要时被下载有用于调试一光驱的码和用于控制所述光驱的码,陆续执行所下载的码,并删除已执行的码。所述闪存包括其中执行和删除从一外部源接收的一固件操作模块的第一区域,被分配用于存储一用于加载已经被存储在所述第一区域中的固件操作模块的码、用于执行已经被存储在所述第一区域中的固件操作模块的码和一固件码的第二区域。
文档编号G11B19/02GK1661703SQ200510052120
公开日2005年8月31日 申请日期2005年2月25日 优先权日2004年2月25日
发明者李基柱 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1