掌上型计算机快闪存储器存取控制方法

文档序号:6557755阅读:260来源:国知局
专利名称:掌上型计算机快闪存储器存取控制方法
技术领域
本发明涉及计算机存储器应用方面的技术,特别是涉及一种快闪存储器存取控制方法,其可适用于一种具有外接快闪存储器的计算机装置上,例如掌上型个人计算机(Handheld Personal Computer,HPC)上,用以控制该计算机装置对其外接的快闪存储器的数据存取动作。
掌上型个人计算机为一种可携带式的小型计算机装置。由于其体积小,因此一般使用快闪存储器(flash memory)来作为可读写之永久性数据存储装置。此快闪存储器一般用于储存预设的程序及数据。例如包括系统硬件设定参数、用户数据、硬件保护密码、系统注册管理程式、全球识别码(Universally Unique Identifier,UUID),等等。传统上,此外接之快闪存储器通过一串行接口连接至掌上型个人计算机。
然而以串行接口来进行数据存取的缺点在于其需占用特定的输出输入(I/O)空间,且需要使用特殊的硬件电路来实施,因此不仅会增加系统之负担,且使得存取速度较慢。此外,亦会使得系统断电保护性不足,因此在断电时,常会致使已存入的数据丢失。
鉴于以上所述已有技术的缺点,本发明的主要目的是提供一种新的快闪存储器的存取控制方法,其不需要占用系统的特定输出输入(I/O)空间,且不需要使用特殊的硬件电路来实施。
本发明的另一目的在于提供一种新的快闪存储器存取控制方法,其比已有技术具有更快的存取速度。
本发明的又一目的在于提供一种新的快闪存储器存取控制方法,其比已有技术具有更好的系统断电保护性,不会在于断电时使已存入的数据丢失。
根据以上所述之目的,本发明提供了一种新颖的快闪存储器存取控制方法。此快闪存储器存取控制方法适用于使用外接快闪存储器的计算机装置,用以控制该计算机装置对该快闪存储器的数据存取动作。
此快闪存储器存取控制方法包含以下步骤
(1)执行一虚拟地址请求程序,用以按照该快闪存储器的存储容量,请求其所需的虚拟地址空间;(2)若请求成功,则执行一映射程序,用以将该快闪存储器之物理地址空间映射至请求到的虚拟地址空间;(3)若接收到一存取命令信号;则执行对应的存取程序;(3-1)若为一写入请求,则执行下列的写入程序;(3-1a)将欲写入的数据写入至该快闪存储器;(3-1b)执行一写入数据比较程序,用以比较写入前的数据与写入后的数据,借以检查出写入的数据是否有错误;(3-2)若为一读取请求,则执行下列的读取程序;(3-2a)将欲读取的数据从该快闪存储器中读取出来;(3-2b)执行一读取数据比较程序,借以检查读取出来的数据是否有错误。
上述的存取动作由于是通过PCMCIA接口在本发明之快闪存储器存取控制方法的控制下进行的,因此可使得此存取动作不需要占用特定的输出输入(I/O)空间,且不需要使用特殊的硬件电路来实施,并具有更快之存取速度。而且,本发明亦比已有技术具有更好的系统断电保护性,不会在断电时致使已存入快闪存储器的数据丢失。本发明因此比已有技术具有更好的实用性。
为让本发明之上述和其它目的、特征、和优点能更明显易懂,下文将举一优选实施例,并配合所附图式,详细说明本发明之实施例。
所附图式之内容简述如下

图1为一系统架构示意方块图,其显示应用本发明的快闪存储器存取控制方法的掌上型个人计算机的系统架构;图2为一流程图,其显示本发明的快闪存储器存取控制方法的主程序;图3为一流程图,其显示本发明的快闪存储器存取控制方法的数据写入程序;图4为一流程图,其显示本发明的快闪存储器存取控制方法的数据读取程序。
附图标号分别如下100 掌上型个人计算机110 中央处理器120 主存储器单元121 操作系统122 快闪存储器驱动程式(本发明的存取控制方法)123 应用程序组130 PCMCIA接口200 快闪存储器(flash memory)图1为一系统架构示意方块图,其显示应用本发明的快闪存储器存取控制方法的掌上型个人计算机的系统架构。首先须注意的是,此处的实施例虽以掌上型个人计算机为例作说明,但本发明并不限于应用于掌上型个人计算机上;广义而言,本发明可应用于各种使用外接快闪存储器且具有程序处理能力的计算机装置上,用以控制计算机装置对外接快闪存储器的数据存取动作。
在图1中,掌上型个人计算机是标号100所指之处线框所包含的部分,其系统架构包含一中央处理器110、一主存储器单元120、以及一PCMCIA接口130。为简化附图及说明,此处的系统架构仅显示与本发明有关的系统构件,其它无关的系统构件,例如输入装置、显示装置、等等,并未显示于图式中。
中央处理器110用以执行主存储器单元120中的各个程序,其为一般熟知之数据处理装置,因此以下将不对其功能及内部架构作进一步详细之说明。PCMCIA接口130可让快闪存储器200以外接方式耦接至掌上型个人计算机100,其为计算机技术领域所熟知的接口,因此以下将不对其详细内容作进一步说明。
主存储器单元120可为任何该中央处理器110可直接存取及执行程序的存储器,例如包括只读存储器及随机存取存储器,是用以存放掌上型个人计算机100操作及应用上所需的各个程序,包括一操作系统121、一快闪存储器驱动程式122、以及一应用程序组123。
操作系统121用以控制掌上型个人计算机100的整体运作,其为一般计算机系统于运作时所需的必要程序,亦为本领域技术人员所熟知的系统,因此以下将不对其功能及内容架构作进一步的详细说明。
快闪存储器驱动程序122即为根据本发明的快闪存储器存取控制方法所撰写而成的程序,用以控制掌上型个人计算机100对快闪存储器200的数据存取动作,包括写入动作及读取动作,其中的详细流程披露于第2,3,4图。
应用程序组123包括各种应用程序。这些应用程序在执行时,若有需要读取快闪存储器200中的数据或将数据写入快闪存储器200,则会发出一存取请求至驱动程序122,令该驱动程序122透过中央处理器110及PCMCIA接口130来进行对快闪存储器200的数据存取动作。
快闪存储器200一般用于储存掌上型个人计算机100在运行中所需的系统参数数据,例如硬件设定参数、用户数据、硬件保护密码、系统注册管理程式、全球识别码等等。在实际应用中,先将这些参数数据写入至快闪存储器200中;接着在开机使用时,将这些参数数据从快闪存储器200读取出来,借以设定掌上型个人计算机100的系统初始设定状态。此写入操作及读取操作均受控于驱动程序122(即本发明的快闪存储器存取控制方法),其程序步骤如图2,3,4的流程图所示;其中图2显示驱动程序122的主程序,而图3,4则分别显示驱动程序122的二个子程序;写入程序及读取程序。
请首先参阅图2的主程序流程图,在开机后,首先执行步骤201的虚拟地址请求程序。在此程序中,首先按照快闪存储器200的总存储容量,请求其可由操作系统(OS)121直接存取的虚拟地址(virtualaddress)空间。
接着在步骤202中,判断步骤201的虚拟地址请求程序是否成功。若否,则结束主程序;若是,则执行步骤203。
在步骤203中,执行一映射程序,用以将快闪存储器200的物理地址(physical address)空间映射至所申请到的虚拟地址空间。接着执行步骤204。
接着在步骤204中,判断步骤203的映射程序是否成功。若否,则结束主程序;若是,则执行步骤205。
在步骤205中,等待应用程序组123是否有发出对快闪存储器200的存取请求。此存取请求可为一写入请求或一读取请求。
接着在步骤206中,判断步骤205是否有接收到一存取请求。若是,则将程序跳至步骤207;若否,则将程序跳至步骤208。
在步骤207中,若所接收到的存取请求为写入请求,则执行图3所示的写入程序;反之,若为读取请求,则执行图4所示的读取程序。写入程序或读取程序执行完毕后,程序接着会跳回步骤205。
在步骤208中,判断是否要退出驱动程序122。若否,则将程序跳回至步骤205;若是,则结束此主程序。
接着参阅图3,在写入程序300中,首先执行步骤301的虚拟地址检查程序,借以检查确认快闪存储器200的物理地址空间是否确已成功地映射至操作系统121的虚拟地址空间。
接着在步骤302中,判断步骤301的虚拟地址检查程序是否已确认映射成功。若否,则程序跳至步骤311;若是,则程序跳至步骤303。
在步骤303中,发出一写入使能信号至快闪存储器200,用以将快闪存储器200设定至写入模式。完成之后,接着执行步骤304。
在步骤304中,执行校验求和计算程序,用以计算欲写入的数据的校验总和(checksum),借以在写入过程中作为纠错之依据。完成之后,接着执行步骤305。
在步骤305中,执行写入动作,用以将数据写入至快闪存储器200。由于快闪存储器200的规格特性,此写入动作系以字节BYTE为单位,以逐字节(BYTE-by-BYTE)方式依序将各字节之数据写入至快闪存储器200。完成之后,接着执行步骤306。
于步骤306中,按照快闪存储器200的规格特性,将程序置于等待状态,期间为一个时钟周期(clock cycle)。之后,接着执行步骤307。
在步骤307中,执行数据比较程序,用以将写入前之数据的校验总和与写入后之数据的校验总和值作一比较,借以检测出写入之数据是否有错误发生。
接着在步骤308中,判断步骤307的数据比较程序的结果是否正确。若是(代表写入的数据完全正确),则结束写入程序;若否(代表写入的数据有错误发生),则程序跳至步骤309。
在步骤309中,重试一次写入动作,用以将欲写入的数据再次写入至快闪存储器200。
接着在步骤310中,比较步骤309所写入之数据是否正确;若是,则结束写入程序;若否,则程序跳至步骤311。
于步骤311中,显示一错误信息,借以将数据无法正确地写入快闪存储器200的状况,告知使用者。接着程序将自动结束。
接着参阅图4,在读取程序400中,首先执行步骤401的虚拟地址检查程序,借以检查确认快闪存储器200的物理地址空间是否确已成功地映射至操作系统121的虚拟地址空间。
接着在步骤402中,判断步骤401的虚拟地址检查程序是否已确认映射成功。若否,则程序跳至步骤406;若是,则程序跳至步骤403。
在步骤403中,执行读取动作。于此步骤中,首先发出一读取使能信号至快闪存储器200,用以将快闪存储器200设定至读取模式;接着将所欲读取的数据从快闪存储器200中读取出来。由于快闪存储器200的规格特性,此读取动作以字节为单位。以逐字节方式依序将各字节的数据从快闪存储器200中读取出来。完成之后,接着执行步骤304。
在步骤404中,执行数据内容检查程序,借以检查步骤403所读取出来的数据内容是否正确。若是,则结束读取程序;若否,则程序跳至步骤406。
在步骤406中,显示一错误信息,借以将数据无法正确地从快闪存储器200中读取出来的状况,告知使用者。接着程序将自动结束。
上述的存取动作由于系透过PCMCIA接口130在驱动程序122(即本发明的快闪存储器存取控制方法)的控制下进行,因此可使得此存取动作不需要占用特定之输出输入(I/O)空间,且不需要使用特殊的硬件电路来实施,并亦比已有的存取控制方法具有更快的存取速度。再且,使用本发明的快闪存储器存取控制方法亦比已有的存取控制方法具有更好的系统断电保护性,不会在断电时使已存入快闪存储器200的参数数据丢失。本发明因此比已有技术具有更好的实用性。
以上所述仅为本发明的优选实施例而已,并非用以限定本发明的范围;凡其它未脱离本发明所揭示之精神下所完成的等效变更或修饰,均应包含在下述权利要求范围内。
权利要求
1.一种快闪存储器存取控制方法,适用于一计算机装置及一快闪存储器上,用以控制该计算机装置对该快闪存储器的数据存取动作;此快闪存储器存取控制方法包含以下步骤执行一虚拟地址请求程序,用以按照该快闪存储器的总存储容量,申请其所需的虚拟地址空间;若请求成功,则执行一映射程序,用以将该快闪存储器的物理地址空间映射至申请到的虚拟地址空间;若接收到一存取要求信号,则执行对应的存取程序;若为一写入请求,则执行下列的写入程序将欲写入的数据写入至该快闪存储器;执行一写入数据比较程序,用以比较写入前的数据与写入后的数据,借以检查出写入的数据是否有错误;若为一读取请求,则执行下列之读取程序将欲读取的数据从该快闪存储器中读取出来;执行一读取数据比较程序,借以检查读取出来的数据是否有错误。
2.如权利要求1所述的方法,其特征在于该计算机装置为一掌上型个人计算机。
3.如权利要求2所述的方法,其特征在于该快闪存储器是经由一PCMCIA接口连接至该掌上型个人计算机。
4.如权利要求1所述的方法,其特征在于该写入程序中的写入数据比较程序,是比较写入前的数据的校验总和与写入后的数据的校验总和是否相一致。
5.如权利要求1所述的方法,其特征在于该快闪存储器用以储存预设的程序及数据,包括系统硬件设定参数、用户数据、硬件保护密码、系统注册管理程序、以及全球识别码。
6.如权利要求1所述的方法,其特征在于在该写入程序中,是以字节为单位,以逐字节方式依序将各字节数据写入至快闪存储器。
7.如权利要求6所述的方法,其特征在于在该写入程序完成后,先等待一个时钟周期后,再进行该数据比较程序。
8.如权利要求1所述的方法,其特征在于在该读取程序中,是以字节为单位,以逐字节方式依序将各字节的数据从该快闪存储器中读取出来。
9.一种快闪存储器存取控制方法,适用于一掌上型个人计算机上,该掌上型个人计算机利用一PCMCIA接口外接至一快闪存储器上用以控制该掌上型个人计算机对该快闪记忆的数据存取动作;此快闪存储器存取控制方法包含以下步骤执行一虚拟地址请求程序,用以按照该快闪存储器程序;若为一写入请求,则执行下列之写入程序;将欲写入的数据写入至该快闪存储器;执行一写入数据比较程序,用以比较写入前的数据与写入后的数据,借以检查出写入的数据是否有错误;若为一读取请求,则执行下列之读取程序;将欲读取的数据从该快闪存储器中读取出来;执行一读取数据比较程序,借以检查读取出来之数据是否有错误。
10.如权利要求9所述的方法,其特征在于该写入程序中的写入数据比较程序,是比较写入前的数据的校验总和与写入后的数据的校验总和是否相一致。
11.如权利要求9所述的方法,其特征在于该快闪存储器用以储存预设的程序及数据,包括系统硬件设定参数、用户数据、硬件保护密码、系统注册管理程式、以及全球识别码。
12.如权利要求9所述的方法,其特征在于在该写入程序中,是以字节为单位,以逐字节方式依序将各字节的数据写入至快闪存储器。
13.如权利要求12所述的方法,其特征在于在该写入程序完成后,先等待一个时钟周期后,再进行该数据比较程序。
14.如权利要求1所述的方法,其特征在于在该读取程序中,是以字节为单位,以逐字节方式依序将各字节的数据从该快闪存储器中读取出来。
全文摘要
一种快闪存储器的存取控制方法,可适用于一种具有外接快闪存储器的计算机装置上,例如掌上型个人计算机上,用以控制该计算机装置对外接快闪存储器的数据存取动作。此快闪存储器存取控制方法可使得快闪存储器的存取动作不需要占用特定的输出输入(I/O)空间,且不需要使用特殊的硬件电路来实施,比已知的存取控制方法具有更快的存取速度。
文档编号G06F9/46GK1326136SQ0010897
公开日2001年12月12日 申请日期2000年5月25日 优先权日2000年5月25日
发明者魏永杰, 宋建福, 林光信 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1