存储器空间管理方法及其相关系统的制作方法

文档序号:6561087阅读:209来源:国知局
专利名称:存储器空间管理方法及其相关系统的制作方法
技术领域
本发明在于提供一种存取数据的方法与相关系统,尤指一种使用一缓冲储存模块来缓冲两储存装置之间所传递的数据的存储器空间管理(memorymanagement)方法及其存储器管理系统,其中此两储存装置为具有不同大小的基本数据存取单元(basic data access unit)的储存装置。
背景技术
在档案管理系统中,例如一般磁盘操作系统(Disk Operating System,DOS)、窗口操作系统(Windows)与OS/2操作系统中所支持或使用的的档案配置系统(File Allocation System,FAT),磁盘(storage disk)在逻辑上将被分割成数个丛集(cluster),而每个丛集进一步将被分割成多个扇区(sector),举例来说,一个丛集具有四个512字节大小的扇区,其中该扇区为档案配置系统中一最小存取单元,此外,对于一非挥发性储存装置而言,例如闪存(flashmemory)装置,该非挥发性储存装置在逻辑上将被分割成多个基本储存单元,而一个档案则由一特定数目的基本储存单元所组成,举例来说,闪存装置中一基本储存单元为一512字节大小的储存页面(page)。
因此,档案配置系统可以经由一驱动程序(driver)来存取所述闪存装置,而该驱动程序则用来撷取或者更新储存于该闪存装置中的数据;在现有技术中,该储存页面的大小相同于该扇区的大小,即,该闪存装置中每一储存页面对应于档案配置系统中的一扇区,然而,由于存储体高容量需求,目前的闪存装置皆具有较大尺寸的储存页面(例如储存页面的大小为2K字节)以提供较好的效能,因此,扇区的大小与储存页面的大小之间的不一致将形成严重的问题,而现有技术在解决此一问题时提供一种将扇区的大小扩展成相同于储存页面的大小的机制,然而,档案配置系统将需要占用随机存取存储器(random access memory,RAM)装置的一部分空间,其中该随机存取存储器为采用该档案配置系统的电子系统中的存储器,因而将大大增加该电子系统的成本。

发明内容
因此本发明的目的之一在于提供一种使用一缓冲储存模块来缓冲于两储存装置之间所传递的数据的存储器空间管理方法及存储器管理系统,其中此两储存装置为具有不同大小的基本数据存取单元的储存装置。
依据本发明的申请专利范围,其揭露一种应用于一储存装置的存储器空间管理方法,其中该储存装置包含有多个储存单元。所述方法包含有提供包含有一缓冲空间的缓冲储存装置,其中该缓冲空间的大小相同于每一储存单元的大小;接收经由至少一存取单元所传送的输入数据,并储存该输入数据至该缓冲储存装置的缓冲空间,其中该存取单元的大小不同于每一储存单元的大小;以及当该缓冲空间已满时,由传送储存于该缓冲空间的数据至该储存装置中所述多个储存单元的一第一储存单元来写入所述输入数据至该储存装置。
依据本发明的实施例,其另揭露一种存储器空间管理系统。所述存储器空间管理系统包含有一数据来源、一储存装置、一缓冲储存装置以及一储存装置控制器。所述数据来源用来提供一输入数据予至少一存取单元;所述储存装置包含有多个储存单元,其中该存取单元的大小不同于每一储存单元的大小;所述缓冲储存装置包含有一缓冲空间,其中该缓冲空间的大小相同于每一储存单元的大小;所述储存装置控制器耦接至所述数据来源、所述储存装置与所述缓冲储存装置,并用来接收经由所述存取单元所传送的输入数据,储存所述输入数据至该缓冲储存装置的所述缓冲空间,以及当该缓冲空间已满时,由传送储存于该缓冲空间的数据至该储存装置中该多个储存单元的一第一储存单元来写入该输入数据至该储存装置。
相较于现有技术,本发明档案配置系统中存取单元的大小与闪存模块中储存单元的大小不需要修改为相同大小,因此,本发明电子系统的成本也不会大为增加,而对于作为大量数据储存而言,则能够提供较快速的读写能力。


图1为本发明存储器空间管理系统一实施例的示意图。
图2为本发明数据写入运作的一实施例的示意图。
图3为本发明数据读取运作的一实施例的示意图。
图4为本发明数据读取运作的另一实施例的示意图。
图5为本发明数据修正运作的一实施例的示意图。
主要元件符号说明10存储器空间管理系统;12电子装置;14闪存模块;22微处理器;24存储器单元;26缓冲储存模块;27缓冲空间;28闪存控制器;51、52、53、54储存页面;270、271、272、273缓冲单元;510、511、512、513、520、521、522、523子储存页面;530、531、532、533、540、541、542、543子储存页面。
具体实施例方式
请参照图1,图1是本发明存储器空间管理系统10的一实施例的示意图。在本实施例中,存储器空间管理系统10包含有一电子装置12(例如基频芯片、手机或者是数字相机)与一闪存模块14,其中电子装置12包含有一微处理器22、用以作为一数据来源的存储器单元24、用以作为一缓冲储存装置的缓冲储存模块26与用以作为一储存装置的闪存控制器28,为了进一步说明本发明的技术特征,在本实施例中假设电子装置12采用档案配置系统(FAT)来管理存储器的空间,另外,存储器单元24耦接至微处理器22,并依据至少一存取单元来储存数据,其中该存取单元表示档案配置系统中所采用于数据存取的最小单元,而在本实施例中,该存取单元为具有512字节大小的一扇区,此外,储存于存储器单元24中的数据包含有驱动程序(包括闪存模块14的驱动程序)、档案系统软件与不同的软件应用程序,微处理器22则耦接至存储器单元24与闪存控制器28,用来执行储存于存储器单元24中的数据(例如闪存的驱动程序),而闪存模块14则耦接至电子装置12,用来储存存储器单元24中所储存的程序代码于执行时所可能使用的数据,例如系统设定与使用者数据,如熟习此项技术者所熟知,闪存模块14包含有多个储存单元,其中各储存单元为闪存模块14中最小存取单元,而在本实施例中,储存单元的大小具有2K字节的一储存页面,而存储器单元24中存取单元的大小不同于闪存模块14中储存单元的大小,举例来说,一2K字节的储存页面(即一储存单元)将对应于四个具有512字节大小的扇区(即四个存取单元)。请注意到,在本发明的其它实施例中,存取单元与储存单元的大小可能因不同的设计需求而改变,然此也属于本发明的范畴;此外,如图1所示,微处理器22、存储器单元24、缓冲储存模块26以及闪存控制器28都置于电子装置12中,然而,此非本发明的限制。
在本实施例中,缓冲储存模块26耦接至闪存控制器28,并包含有一缓冲空间27,其中缓冲空间27的大小相同于闪存模块14中每一储存单元的大小,如图1所示,缓冲空间27包含有多个缓冲单元,其中每一缓冲单元为缓冲储存模块26中最小的存取单元,在本实施例中,一缓冲单元的大小相同于存储器单元24中一存取单元的大小,即该缓冲单元的大小为512字节,但是请注意到,缓冲储存模块26并不限于只具有四个缓冲单元,换言之,缓冲储存模块26也可以设计成具有多个缓冲空间以提供较佳的缓冲能力。
另外,闪存控制器28耦接至微处理器22、闪存4与14与缓冲储存模块26,并用来控制闪存模块14的数据存取(即数据读取或者是数据写入),其中缓冲储存模块26与闪存控制器28的详细说明将于稍后描述。在此请注意到,本发明的其它实施例中,闪存模块14可以被其它储存装置所取代,而闪存控制器28则可以由软件或是硬件的方式而以其它储存装置控制器(storagecontroller)来加以实现,此外,电子装置12也可以被其它操作模块取代并且其也能够采用其它不同的档案系统;如图1所示,缓冲储存模块26中缓冲空间27的大小为2K字节包含有缓冲单元2270、271、272、273,而闪存模块14则包含有多个储存页面(其中包括储存页面51、52、53、54),而在本实施例中,储存页面51、52、53、54中每一储存页面都包含有四个子储存页面(分别是子储存页面510~513、520~523、530~533、540~543),其中每一子储存页面的大小相同于一存取单元的大小。
当微处理器22执行一应用程序(例如上述的软件应用程序)并且该应用程序需要存取储存于闪存模块14中的数据时,该应用程序会呼叫档案配置管理系统的原始机器运作指令(primitive operation),或者是由该应用程序中的函式来呼叫其对应的原始机器运作指令,其中该原始机器运作指令包含有一数据写入运作、一数据读取运作与一数据修正运作,而该原始机器运作指令另进一步地呼叫闪存模块14的闪存驱动程序以驱动实际上存取闪存模块14的相对应的闪存控制器28,而该闪存驱动程序则将依据档案配置管理系统所提供的扇区地址来计算出一储存页面地址(即,闪存模块14中某特定储存页面的储存页面地址),并存取储存于闪存模块14中的数据。
然后,自闪存模块14所取得的数据将按照储存页面的格式来暂存于缓冲空间27,接着,储存于缓冲空间27的部分数据或是全部数据将按照扇区的格式被传送至档案配置管理系统,即,档案配置管理系统进一步会按照扇区的格式来传送所请求的数据至所述应用程序,而存取储存于闪存模块14的数据的详细说明(包含上述的数据写入、读取与修正运作)将于稍后描述。
经由上述说明,本发明存储器空间管理方法的一实施例描述如下存储器空间管理方法用来依据一档案系统(例如档案配置管理系统)的存取单元大小(例如扇区大小)来处理多个原始机器运作指令的一集合来存取一储存装置(例如一闪存),而该储存装置依据一储存单元大小(例如储存页面大小)来储存数据,如上述例子所述,扇区大小为512字节而储存页面大小则为2K字节,此外,存储器空间管理方法可以利用软件、韧体或者是数字逻辑电路的方式而实作为一存储器驱动程序,其中该存储器驱动程序、所述档案系统与所述储存装置安装于一电子装置(例如行动电话或其它行动通讯产品)上。
然而,所述存储器驱动程序与所述存储驱动程序也可以安装于一第一电子装置上,而所述储存装置则安装于一第二电子装置上,举例来说,该第一电子装置为一个人计算机而该第二电子装置为具有一闪存的行动电话,连接该第一电子装置与该第二电子装置之间的是一通讯连结(communication link)与相关的软硬件(例如通用序列总线(Universal Serial Bus,USB)与通用序列总线的信号线);当所述第二电子装置被所述第一电子装置视为一外部存储器装置时,所述存储器驱动程序将被安装于该第一电子装置上,因此,该存储器驱动程序会接收所述原始机器运作指令并依据实际的储存装置(即,使用储存单元大小与相关储存单元地址的储存装置)来将其转译成对应的指令,此外,在此种情形下,通讯协议也将结合至该驱动程序中;另外,存储器驱动程序也可以安装至所述第二电子装置上,而在此种情形之下,其对应的程序代码则必须依据该第二电子装置上的组态设定来加以修正。
综合上述,所述存储器空间管理方法可以概述如下接收用以表示一存取单元地址的原始机器运作指令、将该存取单元地址转译成至少一对应储存单元地址、以及利用转译后储存单元地址来存取所述储存单元以响应该接收后的原始机器运作指令。所述原始机器运作指令可以是数据读取、写入或者是其它数据存取指令(例如是数据清除指令),因此,当该原始机器运作指令为数据读取指令并且所述存取单元的大小小于所述储存单元的大小时,一储存单元将被撷取并暂存,但只有一部分的储存单元将被传送至请求数据的软件程序;而当所述原始机器运作指令系为数据写入指令并且所述存取单元的大小小于所述储存单元的大小时,一相关的储存单元(其包含所指定的存取单元地址的存取单元与所指定的存取单元地址邻近的存取单元)将被储存至一缓冲器中,接着,在所述缓冲器中的要被更新的存取单元将被写入一指定值,然后,该缓冲器中的数据便被写回至所述储存装置。
请参照图2,图2是本发明数据写入运作的一实施例的示意图。在此假设微处理器22需要将储存于两扇区S1、S2中的第一请求数据DATA_01储存至闪存模块14,如上所述,在闪存模块14中最小的储存单元的大小为一四倍于扇区大小的储存页面,因此,储存于扇区S1、S2中的第一请求数据DATA_01无法直接储存至闪存模块14;在数据写入运作时,如图2所示,首先储存于两扇区S1、S2中的第一请求数据DATA_01被分别写入至缓冲空间27的缓冲单元271、272,而缓冲空间27中剩下的空间(包括缓冲单元270、273)则接着填满虚拟数据(dummy data),其中该虚拟数据包含本实施例中所使用的逻辑值,而每一逻辑值对应于闪存模块14中的一抹除状态(erasestate),之后,闪存控制器28会将储存于缓冲空间27的数据以储存页面的格式写入至闪存模块14的储存页面51,如图2所示,储存页面51包含有四个子储存页面510、511、512、513并分别对应于缓冲单元270、271、272、273,因此,将可以达到由利用缓冲储存模块26的缓冲空间27来将储存于扇区S1、S2的第一请求数据DATA_01写入至闪存模块14,此外,所述虚拟数据利用以下两种机制被储存于缓冲单元中第一种机制是在第一请求数据DATA_01储存于缓冲空间27(即本实施例中的缓冲单元271、272)之前,利用该虚拟数据先将缓冲空间27(即所有的缓冲单元271、272、273、274)填满,而另一种机制则在第一请求数据DATA_01储存于缓冲单元271、272的后,才利用该虚拟数据将缓冲单元270、273补满,以上任一种机制都可适用于本实施例,然而,此非本发明的限制。
请参照图3,图3是本发明数据读取运作的一实施例的示意图。在此假设微处理器22需要读取储存于闪存模块14的子储存页面522中的第二请求数据DATA_02,在数据读取运作中,所述闪存驱动程序所驱动的闪存控制器28首先会复制储存于储存页面52中所有数据至缓冲空间27中,其中所述数据包含有第二请求数据DATA_02,此时,储存于缓冲单元270、271、272、273中的数据分别相同于储存于子储存页面520、521、522、523中的数据,之后,闪存驱动程序将驱动闪存控制器28来传送储存于缓冲单元272中的第二请求数据DATA_02至所述档案配置管理系统,因而完成数据读取运作。
请参照图4,图4是本发明数据读取运作的另一实施例的示意图。在此假设微处理器22需要读取储存于闪存模块14中子储存页面522的第二请求数据DATA_02,在数据读取运作中,闪存驱动程序所驱动的闪存控制器28不需使用缓冲空间27而直接读取并传送储存于子储存页面522的第二请求数据DATA_02至所述档案配置管理系统,因此,同样也可以达成读取第二请求数据DATA_02的目的。
请参照图5,图5是本发明数据修正运作的一实施例的示意图。在此假设微处理器22需要修正储存于闪存模块14中的储存页面53的子储存页面533的特定数据,如上所述,闪存模块14中的最小储存单元为一储存页面,因此,储存于子储存页面533中的特定数据无法直接被修正并储存回闪存模块14中,而在数据修正运作中,所述闪存驱动程序所驱动的闪存控制器28首先会复制储存于储存页面53中的所有数据至缓冲空间27,此时,储存于缓冲单元270、271、272、273中的数据分别相同于储存于子储存页面530、531、532、533中的数据,接着,闪存控制器28会修正储存于缓冲单元273中的特定数据,之后,闪存控制器28会将储存于缓冲空间27的数据写回至闪存模块14的另一储存页面54,其中写入至子储存页面543的信息不同于储存于子储存页面53中的信息,换言之,储存于缓冲单元270、271、272、273中的数据分别相同于储存于子储存页面540、541、542、543中的数据,因此,修正后的特定数据则顺利地储存于子储存页面543中。
总结上述所说,在本发明中,档案配置管理系统的存取单元的大小与闪存模块的储存单元的大小并不需要相同,此外,本发明中电子装置的制造成本并不会大为增加,而对于大量数据储存而言,也可以提供较快速的读写能力。
权利要求
1.一种存储器空间管理方法,用来依据一档案系统的一存取单元的大小来处理多个原始机器运作指令(primitive operation)的一集合来存取依据一储存单元的大小来储存数据的一储存装置,该存储器空间管理方法包含有接收指示至少一存取单元地址的一原始机器运作指令;将所述存取单元地址转译成至少一相对应的储存单元地址,其中所述储存单元的大小不同于所述存取单元的大小;以及使用该储存单元地址来存取所述储存装置以响应所述原始机器运作指令。
2.如权利要求1所述的方法,其中当所述原始机器运作指令为一读取运作并且所述存取单元的大小小于所述储存单元的大小时,该方法另包含有缓冲所述储存单元地址所指定的一撷取后储存单元,并且只提供该撷取后储存单元的一部分以响应所述原始机器运作指令。
3.如权利要求1所述的方法,其中当所述原始机器运作指令为一写入运作并且所述存取单元的大小小于所述储存单元的大小时,该方法另包含有读取对应于所述存取单元地址的一储存单元至一缓冲器,其中该储存单元包含有该存取单元地址所指定的用以写入的一存取单元与一或多个邻近存取单元,而所指定的该存取单元与该邻近存取单元的总和大小等于该储存单元的大小;以一指定值来更新所指定的用以写入的所述存取单元;以及写入所述缓冲器的数据至所述储存装置。
4.如权利要求1所述的方法,其中一存储驱动程序(storage driver)、所述档案系统与所述储存装置安装于一电子装置上,所述电子装置的软件应用程序使用所述多个原始机器运作指令的所述集合来存取所述储存装置,而该多个原始机器运作指令则用于所述存储驱动程序以执行接收该多个原始机器运作指令、转译该多个原始机器运作指令与存取该储存装置的步骤。
5.如权利要求1所述的方法,其中一存储驱动程序与所述档案系统安装于一第一电子装置上,而所述储存装置则安装于一第二电子装置上;该第一电子装置的软件应用程序使用所述多个原始机器运作指令的所述集合来存取所述储存装置,而该多个原始机器运作指令则用于所述存储驱动程序以执行接收该多个原始机器运作指令、转译该多个原始机器运作指令与存取所述储存装置的步骤。
6.如权利要求1所述的方法,其中所述储存装置为一闪存。
7.如权利要求6所述的方法,其中所述储存单元的大小为所述闪存的一储存页面的大小,而该存取单元的大小则为所述档案系统的一扇区的大小。
8.一种用于一储存装置的存储器空间管理方法,所述储存装置包含有多个储存单元,该存储器空间管理方法包含有提供包含有至少一缓冲空间的一缓冲储存装置,其中该缓冲空间的大小相同于每一储存单元的大小;接收经由至少一存取单元所传送的一输入数据,并储存该输入数据至所述缓冲储存装置的所述缓冲空间,其中该存取单元的大小不同于每一储存单元的大小;以及当所述缓冲空间已满时,由传送储存于所述缓冲空间的数据至所述储存装置中所述多个储存单元的一第一储存单元以写入所述输入数据至该储存装置。
9.如权利要求8所述的方法,其中所述储存装置为一闪存。
10.如权利要求9所述的方法,其另包含有在所述输入数据储存于所述缓冲空间之后,除了该输入数据已占用的空间外,以一虚拟数据(dummy data)填满该缓冲空间。
11.如权利要求10所述的方法,其中所述虚拟数据包含有多个逻辑值,而每一逻辑值对应于所述闪存的一抹除状态(erase state)。
12.如权利要求9所述的方法,其另包含有在所述输入数据储存于所述缓冲空间之前,先以一虚拟数据填满该缓冲空间。
13.如权利要求12所述的方法,其中所述虚拟数据包含有多个逻辑值,而每一逻辑值对应于所述闪存的一抹除状态。
14.如权利要求8所述的方法,其中所述储存单元的大小大于所述存取单元的大小。
15.如权利要求8所述的方法,其另包含有当接收用以修正所述输入数据的一请求时,复制储存于所述第一储存单元的该输入数据至所述缓冲空间、修正储存于所述缓冲空间的数据以及传送储存于该缓冲空间的该修正后输入数据至所述储存装置中所述多个储存单元的一第二储存单元。
16.如权利要求8所述的方法,其另包含有当接收用以读取所述输入数据的一请求时,复制储存于所述第一储存单元中该数据至所述缓冲空间以及读取储存于该缓冲空间中的该输入数据。
17.一种存储器空间管理系统,其包含有一数据来源,用来提供一输入数据至至少一存取单元;一储存装置,其包含有多个储存单元,其中该存取单元的大小不同于每一储存单元的大小;一缓冲储存装置,其包含有至少一缓冲空间,其中该缓冲空间的大小相同于每一储存单元的大小;以及一储存装置控制器,耦接至所述数据来源、所述储存装置与所述缓冲储存装置,用来接收经由所述存取单元所传送的所述输入数据,储存该输入数据至该缓冲储存装置的所述缓冲空间,以及当该缓冲空间已满时,由传送储存于该缓冲空间的数据至所述储存装置中所述多个储存单元的一第一储存单元来写入所述输入数据至所述储存装置。
18.如权利要求17所述的存储器空间管理系统,其中所述储存装置为一闪存。
19.如权利要求18所述的存储器间管理系统,其中在所述输入数据储存于所述缓冲空间之后,除了该输入数据所占用的空间外,所述储存装置控制器另以一虚拟数据填满该缓冲空间。
20.如权利要求19所述的存储器空间管理系统,其中所述虚拟数据包含有多个逻辑值,而每一逻辑值对应于所述闪存的一抹除状态。
21.如权利要求18所述的存储器空间管理系统,其中在所述输入数据储存于所述缓冲空间之前,所述储存装置控制器先以一虚拟数据填满该缓冲空间。
22.如权利要求21所述的存储器空间管理系统,其中所述虚拟数据包含有多个逻辑值,而每一逻辑值对应于所述闪存的一抹除状态。
23.如权利要求17所述的存储器空间管理系统,其中所述储存单元的大小大于所述存取单元的大小。
24.如权利要求17所述的存储器空间管理系统,其中当所述储存装置控制器接收用以修正所述输入数据的一请求时,该储存装置控制器会复制储存于所述第一储存单元的数据至所述缓冲空间、修正储存于所述缓冲空间的数据以及将储存于该缓冲空间中修正后的数据传送至该储存装置中所述多个储存单元的一第二储存单元。
25.如权利要求17所述的存储器空间管理系统,其中当所述储存装置控制器接收用以读取所述输入数据的一请求时,该储存装置控制器会复制储存于所述第一储存单元中的数据至所述缓冲空间以及读取该缓冲空间中的所述输入数据。
全文摘要
本发明提供一种存储器空间管理方法及其相关系统,用来依据一档案系统的一存取单元的大小来处理多个原始机器运作指令(primitive operation)的一集合来存取依据一储存单元的大小来储存数据的一储存装置,该存储器空间管理方法包含有接收指示至少一存取单元地址的一原始机器运作指令;将所述存取单元地址转译成至少一相对应的储存单元地址,其中所述储存单元的大小不同于所述存取单元的大小;以及使用该储存单元地址来存取所述储存装置以响应所述原始机器运作指令。本发明中电子装置的制造成本并不会大为增加,而对于大量数据储存而言,也可以提供较快速的读写能力。
文档编号G06F12/02GK1916875SQ200610115798
公开日2007年2月21日 申请日期2006年8月17日 优先权日2005年8月17日
发明者汪秉玉 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1