CN102693372A - 内存储存装置、内存控制器与病毒扫描方法 - Google Patents
内存储存装置、内存控制器与病毒扫描方法 Download PDFInfo
- Publication number
- CN102693372A CN102693372A CN2011100773152A CN201110077315A CN102693372A CN 102693372 A CN102693372 A CN 102693372A CN 2011100773152 A CN2011100773152 A CN 2011100773152A CN 201110077315 A CN201110077315 A CN 201110077315A CN 102693372 A CN102693372 A CN 102693372A
- Authority
- CN
- China
- Prior art keywords
- bit code
- file
- memory
- section
- host computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种内存储存装置、内存控制器与病毒扫描方法。此方法包括提供病毒特征码数据库以记录预设文件区段及对应的病毒特征码,并配置多个逻辑地址以映射内存储存装置之可复写式非挥发性内存芯片中的部份实体地址,而主机系统是使用文件系统来存取逻辑地址且文件系统包括文件配置表;此方法还包括接收至少一位码,分析文件配置表以辨识上述位码所在的文件区段。若文件区段相符于预设文件区段,则在判断上述位码与预设文件区段对应的病毒特征码相符时,不将上述位码写入至内存储存装置或不将上述位码回传至主机系统。本发明能使内存储存装置本身具备扫描病毒的能力。
Description
技术领域
本发明涉及一种病毒扫描方法,且特别涉及一种由内存储存装置自主执行的病毒扫描方法,以及使用此方法的内存储存装置及其内存控制器。
背景技术
闪存(Flash Memory)具有数据非挥发性、省电、体积小与无机械结构等的特性,因此被广泛地应用于各种电子装置。也有越来越多如记忆卡或优盘等可携式储存装置是以闪存作为其中的储存媒体。
在可携式储存装置与主机系统相连接之后,使用者便能通过主机系统将数据写入可携式储存装置,或读取储存在可携式储存装置中的数据。然而,倘若计算机系统所联机的另一端为恶意网站,主机系统便会遭受到恶意软件的入侵,而可能会将遭受计算机病毒感染的文件挟带至可携式储存装置。除此之外,倘若将已遭受计算机病毒感染的可携式储存装置连接至主机系统,也会造成主机系统遭受计算机病毒的攻击。
为避免上述情况,大多数的使用者会在主机系统安装防毒软件来进行病毒扫描的动作。然而,时下的可携式储存装置本身因不具备病毒扫描能力,故只能在连接主机系统之后,被动地依赖主机系统对其中的文件进行病毒扫描。
发明内容
有鉴于此,本发明提供一种病毒扫描方法、内存控制器以及内存储存装置,能使内存储存装置本身具备扫描病毒的能力。
本发明提出一种病毒扫描方法,用于耦接至主机系统的内存储存装置,此内存储存装置包括可复写式非挥发性内存芯片,可复写式非挥发性内存芯片具有多个实体区块且各实体区块具有多个实体地址,此病毒扫描方法包括提供病毒特征码数据库,其记录至少一预设文件区段以及上述预设文件区段所对应的至少一病毒特征码;此方法还包括配置多个逻辑地址以映射部分的实体地址,其中主机系统使用文件系统来存取上述逻辑地址且文件系统包括一文件配置表;此方法还包括接收至少一位码,上述位码可以是主机系统所欲写入的位码或主机系统所欲读取的位码;此方法包括分析文件配置表以辨识上述位码所在的文件区段,并且判断文件区段是否相符于任何预设文件区段;若文件区段相符于预设文件区段时,则判断上述位码是否与预设文件区段对应的病毒特征码相符;若上述位码与预设文件区段对应的病毒特征码相符时,则不将上述位码写入至内存储存装置或不将上述位码回传至主机系统。
从另一观点来看,本发明提出一种内存控制器,用于管理内存储存装置中的可复写式非挥发性内存芯片,此内存控制器包括主机系统接口、内存接口,以及内存管理电路;主机系统接口用以耦接主机系统;内存接口用以耦接可复写式非挥发性内存芯片,此可复写式非挥发性内存芯片具有多个实体区块且各实体区块具有多个实体地址;内存管理电路耦接至主机系统接口与内存接口,内存管理电路用以提供病毒特征码数据库,其记录至少一预设文件区段以及上述预设文件区段所对应的至少一病毒特征码;内存管理电路还用以配置多个逻辑地址以映射部分的实体地址,其中主机系统使用文件系统来存取上述逻辑地址且文件系统包括一文件配置表;内存管理电路还用以在接收至少一位码时,分析文件配置表以辨识上述位码所在的文件区段,其中上述位码包括主机系统所欲写入的位码或主机系统所欲读取的位码;内存管理电路还用以判断文件区段是否相符于任何预设文件区段,若文件区段相符于预设文件区段时,内存管理电路判断上述位码是否与预设文件区段对应的病毒特征码相符;若上述位码与预设文件区段对应的病毒特征码相符时,内存管理电路不将上述位码写入至内存储存装置或不将上述位码回传至主机系统。
从又一观点来看,本发明提出一种内存储存装置,包括可复写式非挥发性内存芯片、连接器,以及内存控制器;其中,可复写式非挥发性内存芯片具有多个实体区块且各实体区块具有多个实体地址;连接器用以耦接主机系统;内存控制器耦接至可复写式非挥发性内存芯片与连接器,内存控制器用以提供病毒特征码数据库,其记录至少一预设文件区段以及上述预设文件区段所对应的至少一病毒特征码;内存控制器还用以配置多个逻辑地址以映射部分的实体地址,其中主机系统使用一文件系统来存取上述逻辑地址且文件系统包括一文件配置;内存控制器还用以在接收至少一位码时,分析文件配置表以辨识上述位码所在的文件区段,其中上述位码包括主机系统所欲写入的位码或主机系统所欲读取的位码;内存控制器还用以判断文件区段是否相符于预设文件区段,若文件区段相符于预设文件区段时,内存控制器判断上述位码是否与预设文件区段对应的病毒特征码相符;若内存控制器判断上述位码与预设文件区段对应的病毒特征码相符时,内存控制器不将上述位码写入至内存储存装置或不将上述位码回传至主机系统。
基于上述,本发明能在主机系统欲读取或写入位码时,通过分析文件配置表以判断上述位码所在的文件区段,进而针对此文件区段比对可能出现的病毒特征码,从而达到病毒扫描的目的。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本发明一范例实施例显示的使用内存储存装置的主机系统的示意图。
图1B是根据本发明范例实施例所显示的计算机、输入/输出装置与内存储存装置的示意图。
图1C是根据本发明另一范例实施例所显示的主机系统与内存储存装置的示意图。
图2是显示图1A所示的内存储存装置的概要方框图。
图3是根据本发明的一范例实施例显示的内存控制器的概要方框图。
图4A与图4B是根据本发明的一范例实施例所显示的管理实体区块的示意图。
图5是根据本发明的一范例实施例显示的以FAT文件系统格式化内存储存装置的范例。
图6是根据本发明的一范例实施例显示的病毒扫描方法的流程图。
图7是根据本发明的另一范例实施例显示的内存储存装置的概要方框图。
附图标记:
1000:主机系统; 1102:微处理器; 1106:输入/输出装置;
1100:计算机; 1108:系统总线; 1104:随机存取内存;
1202:鼠标; 1204:键盘; 1110:数据传输接口;
1206:显示器; 1208:打印机; 1212:优盘;
1214:记忆卡; 1216:固态硬盘; 1310:数字相机;
1312:SD卡; 1314:MMC卡; 1316:记忆棒;
1318:CF卡; 102:连接器; 1320:嵌入式储存装置;
104:内存控制器; 1045:内存接口; 100:内存储存装置;
3002:缓冲存储器; 502:资料区; 1041:主机系统接口;
504:闲置区; 506:系统区; 1043:内存管理电路;
508:取代区; 610:主开机扇区; 3004:电源管理电路;
630:目录区; 640:文件区; 620:文件配置表区;
1063:第二分割区; 1061:第一分割区;
106:可复写式非挥发性内存芯片;
3006:错误检查与校正电路;
410(0)-410(N):实体区块;
LBA(0)-LBA(L):逻辑地址;
S610~S690:本发明的一实施例所述的病毒扫描方法的各步骤。
具体实施方式
一般而言,内存储存装置(亦称,内存储存系统)包括内存芯片与控制器(亦称,控制电路)。通常内存储存装置会与主机系统一起使用,以使主机系统可将数据写入至内存储存装置或从内存储存装置中读取数据。另外,亦有内存储存装置是包括嵌入式内存与可执行于主机系统上以实质地作为此嵌入式内存的控制器的软件。
图1A是根据本发明一范例实施例所显示的使用内存储存装置的主机系统的示意图。
主机系统1000包括计算机1100与输入/输出(Input/Output,I/O)装置1106。计算机1100包括微处理器1102、随机存取内存(Random AccessMemory,RAM)1104、系统总线1108以及数据传输接口1110。输入/输出装置1106包括如图1B所示的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其它装置。
在本发明范例实施例中,内存储存装置100是通过数据传输接口1110与主机系统1000的其它组件耦接。藉由微处理器1102、随机存取内存1104以及输入/输出装置1106的运作,主机系统1000可将数据写入至内存储存装置100,或从内存储存装置100中读取数据。例如,内存储存装置100可以是如图1B所示的记忆卡1214、优盘1212、或固态硬盘(Solid State Drive,SSD)1216。
一般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中,主机系统1000亦可以是手机、数字相机、摄影机、通讯装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数字相机1310时,内存储存装置则为其所使用的安全数字(Secure Digital,SD)卡1312、多媒体记忆(Multimedia Card,MMC)卡1314、记忆棒(Memory Stick)1316、小型快闪(Compact Flash,CF)卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。
图2是显示图1A所示的内存储存装置100的方框图。请参照图2,内存储存装置100包括连接器102、内存控制器104与可复写式非挥发性内存芯片106。
连接器102耦接至内存控制器104,并且用以耦接主机系统1000。在本范例实施例中,连接器102所支持的传输接口种类为通用序列总线(Universal Serial Bus,USB)接口。然而在其它范例实施例中,连接器102的传输接口种类也可以是串行高级技术附加(Serial AdvancedTechnology Attachment,SATA)接口、多媒体储存卡(Multimedia Card,MMC)接口、并行高级技术附加(Parallel Advanced Technology Attachment,PATA)接口、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,IEEE)1394接口、高速周边零件连接接口(PeripheralComponent Interconnect Express,PCI Express)接口、安全数字(SecureDigital,SD)接口、记忆棒(Memory Stick,MS)接口、小型快闪(CompactFlash,CF)接口,或整合驱动电子(Integrated Drive Electronics,IDE)接口等任何适用的接口,在此并不加以限制。
内存控制器104会执行以硬件型式或韧体型式实作的多个逻辑闸或控制指令,并根据主机系统1000的指令在可复写式非挥发性内存芯片106中进行数据的写入、读取与抹除等运作。其中,内存控制器104还特别用以根据本范例实施例的病毒扫描方法而使得内存储存装置100本身具备对文件进行病毒扫描的能力。本范例实施例的病毒扫描方法将于后配合图示再作说明。
可复写式非挥发性内存芯片106耦接至内存控制器104。可复写式非挥发性内存芯片106系用以储存如文件配置表(File Allocation Table,FAT)或增强型文件系统(New Technology File System,NTFS)等文件系统信息,以及储存如文字、影像或声音文件等一般性数据。举例来说,可复写式非挥发性内存芯片106为多层单元(Multi Level Cell,MLC)NAND闪存芯片,但本发明不限于此,可复写式非挥发性内存芯片106也可以是单层单元(Single Level Cell,SLC)NAND闪存芯片、其它闪存芯片或任何具有相同特性的内存芯片。
图3是根据本发明一范例实施例所显示的内存控制器的概要方框图。请参照图3,内存控制器104包括主机系统接口1041、内存管理电路1043,以及内存接口1045。
主机系统接口1041耦接至内存管理电路1043,并通过连接器102以耦接主机系统1000。主机系统接口1041系用以接收与识别主机系统1000所传送的指令与数据。据此,主机系统1000所传送的指令与数据会通过主机系统接口1041而传送至内存管理电路1043。在本范例实施例中,主机系统接口1041对应连接器102而为USB接口,而在其它范例实施例中,主机系统接口1041也可以是SATA接口、MMC接口、PATA接口、IEEE 1394接口、PCI Express接口、SD接口、MS接口、CF接口、IDE接口或符合其它接口标准的接口。
内存管理电路1043系用以控制内存控制器104的整体运作。具体来说,内存管理电路1043具有多个控制指令,在内存储存装置100运作时,上述控制指令会被执行以实现本范例实施例的病毒扫描方法。
在一范例实施例中,内存管理电路1043的控制指令是以韧体型式来实作。例如,内存管理电路1043具有微处理器单元(未显示)与只读存储器(未显示),且上述控制指令是被烧录在只读存储器中。当内存储存装置100运作时,上述控制指令会由微处理器单元来执行以完成本范例实施例的病毒扫描方法。
在本发明另一范例实施例中,内存管理电路1043的控制指令亦可以程序代码型式储存于可复写式非挥发性内存芯片106的特定区域(例如,可复写式非挥发性内存芯片106中专用于存放系统数据的系统区)中。此外,内存管理电路1043具有微处理器单元(未显示)、只读存储器(未显示)及随机存取内存(未显示)。其中,只读存储器具有驱动码段,并且当内存控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非挥发性内存芯片106中的控制指令加载至内存管理电路1043的随机存取内存中。之后,微处理器单元会运转上述控制指令以执行本范例实施例的病毒扫描方法。此外,在本发明另一范例实施例中,内存管理电路1043的控制指令亦可以一硬件型式来实作。
内存接口1045耦接至内存管理电路1043,以使内存控制器104与可复写式非挥发性内存芯片106相耦接。据此,内存控制器104可对可复写式非挥发性内存芯片106进行相关运作。也就是说,欲写入至可复写式非挥发性内存芯片106的数据会经由内存接口1045转换为可复写式非挥发性内存芯片106所能接受的格式。
在本发明的一范例实施例中,内存控制器104还包括缓冲存储器3002。缓冲存储器3002可以是静态随机存取内存(Static Random Access Memory,SRAM)、或动态随机存取内存(Dynamic Random Access Memory,DRAM)等,本发明并不加以限制。缓冲存储器3002耦接至内存管理电路1043,用以暂存来自于主机系统1000的数据,或暂存来自于可复写式非挥发性内存芯片106的数据。
在本发明另一范例实施例中,内存控制器104还包括电源管理电路3004。电源管理电路3004耦接至内存管理电路1043,用以控制内存储存装置100的电源。
在本发明又一范例实施例中,内存控制器104还包括错误检查与校正电路3006。错误检查与校正电路3006耦接至内存管理电路1043,用以执行错误检查与校正程序以确保数据的正确性。具体而言,当内存管理电路1043接收到来自主机系统1000的写入指令时,错误检查与校正电路3006会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,ECC Code),且内存管理电路1043会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非挥发性内存芯片106。之后当内存管理电路1043从可复写式非挥发性内存芯片106中读取数据时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路3006会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图4A与图4B是根据本发明的一范例实施例所显示的管理实体区块的示意图。
请参照图4A,可复写式非挥发性内存芯片106包括实体区块410(0)-410(N),其中,每一实体区块包括多个实体地址。而内存控制器104中的内存管理电路1043会将实体区块410(0)-410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。其中,图4A所标示的F、S、R与N为正整数,代表各区配置的实体区块数量,其可由内存储存装置100的制造商依据所使用的可复写式非挥发性内存芯片106的容量来设定。
逻辑上属于数据区502与闲置区504的实体区块是用以储存来自于主机系统1000的数据。具体来说,数据区502的实体区块是被视为已储存数据的实体区块,而闲置区504的实体区块是用以替换数据区502的实体区块。换句话说,闲置区504的实体区块为空或可使用的实体区块(无记录数据或标记为已没用的无效数据)。当从主机系统1000接收到写入指令与欲写入的数据时,内存管理电路1043会从闲置区504中提取实体区块,并且将数据写入至所提取的实体区块中,以替换数据区502的实体区块。
逻辑上属于系统区506的实体区块是用以记录系统数据。举例来说,系统数据包括关于可复写式非挥发性内存芯片106的制造商与型号、可复写式非挥发性内存芯片106的实体区块数、每一实体区块的实体地址数,以及逻辑地址-实体地址映射表(logical address-physical address mappingtable)等。
逻辑上属于取代区508中的实体区块是用以在数据区502、闲置区504或系统区506中的实体区块损毁时,取代损坏的实体区块。具体而言,倘若取代区508中仍存有正常的实体区块且数据区502的实体区块损坏时,内存管理电路1043会从取代区508中提取正常的实体区块来更换数据区502中损坏的实体区块。
为了让主机系统1000能对可复写式非挥发性内存芯片106进行存取,请参照图4B,在本范例实施例中内存管理电路1043会配置数个逻辑地址LBA(0)-LBA(L)以映像数据区502中的实体区块410(0)-410(F-1)的实体地址。内存管理电路1043将所配置的逻辑地址LBA(0)-LBA(L)提供给主机系统1000,并维护逻辑地址-实体地址映像表以记录逻辑地址LBA(0)-LBA(L)与数据区502中的实体地址的映像关系。因此,当主机系统1000欲读取某一逻辑地址时,内存管理电路1043可通过逻辑地址-实体地址映像表于对应的实体地址中读取数据。
在本范例实施例中,在内存储存装置100初次被耦接至主机系统1000并且被执行初始化时,主机系统1000会使用一文件系统(file system)来格式化内存储存装置100的逻辑地址LBA(0)-LBA(L)。以下将以图5说明被FAT文件系统格式化的内存储存装置100。然而在本发明的其它范例实施例中,亦可使用NTFS文件系统或其它文件系统进行格式化动作。
请参照图5,在本范例实施例中,主机系统1000使用FAT文件系统将内存储存装置100格式化为一个分割区,而逻辑地址LBA(0)-LBA(L)会被依序地划分为主开机扇区610、文件配置表区620、目录区630与文件区640。其中,M、T、C、L为正整数,用以表示各区的逻辑地址数。
其中,属于主开机扇区610的逻辑地址LBA(0)-LBA(M)是用以储存内存储存装置100的可储存空间的系统信息,例如主开机记录(Master BootRecord,MBR)。
属于文件配置表区620的逻辑地址LBA(M+1)-LBA(T)是用以储存文件配置表。文件配置表包括逻辑地址索引字段以及链接值字段,以记录每一逻辑地址对应的链接值。在一范例实施例中,文件配置表区620会储存两个文件配置表,其中一个文件配置表为正常存取所使用,而另一个文件配置表为备份文件配置表。
属于目录区630的逻辑地址LBA(T+1)-LBA(C)是用以储存根目录。根目录系记录已储存在可复写式非挥发性内存芯片106的现有文件的文件描述信息。例如,现有文件的文件名称以及储存此现有文件的文件起始逻辑地址。而属于文件区640的逻辑地址LBA(C+1)-LBA(L)则是用以实际地储存现有文件的内容。
在本范例实施例中,当主机系统1000下达读取指令,内存控制器106在将该读取指令所欲读取的数据回传至主机系统1000(或当主机系统1000下达写入指令而内存控制器106在将该写入指令所欲写入的数据写入至内存储存装置100)之前,内存控制器106会根据病毒特征码数据库来对数据进行扫描,以判断数据是否遭受病毒感染。然而,内存控制器106并非将数据与病毒特征码数据库所记录的所有病毒特征码进行比对,而是会先辨识数据所属的文件及其所在的文件区段,再依据文件区段取得适当的病毒特征码以进行比对。
一般来说,常见的文件型病毒具有会被写入文件的特定区段(例如文件的前段、中段,或后段)的特性,且每种病毒都能从中撷取出一段表示此病毒的二进制代码(binary code),以作为扫毒时辨认此病毒的依据。这种独特的二进制代码又称为病毒特征码。对于已知的病毒特征码可知其对应的区段,故在本范例实施例中,病毒特征码数据库记录的是至少一种预设文件区段以及上述预设文件区段所对应的至少一病毒特征码。例如,病毒特征码数据库所记录的预设文件区段为文件的前段、中段,以及后段,病毒特征码数据库会记录文件的前段所对应的一或多个病毒特征码,并分别记录文件的中段以及后段所个别对应的一或多个病毒特征码。
由于仅根据来自主机系统1000的写入或读取指令只能识别主机系统1000欲存取的逻辑地址范围,但无法单就指令辨识出主机系统1000所欲读取或写入的数据所在的文件区段。对此,内存控制器106中的内存管理电路1043会分析文件配置表区620中的文件配置表,从而辨识数据所属的文件以及数据所在的文件区段。
以写入指令为例,假设主机系统1000下达的写入指令欲写入一存取地址范围,此范围取决于主机系统1000的操作系统的缓存内存,以微软公司所开发的Windows操作系统为例,其大小通常为64千字节(Kilobytes)。内存管理电路1043接收写入指令所对应的数据(包括至少一位码(binary code))后,在将上述位码写入可复写式非挥发性内存芯片106之前,会先因应存取地址范围修改文件配置表,接着便能根据修改后的文件配置表判断上述位码所属的文件对应的逻辑地址串行。基此,内存管理电路1043可根据存取地址范围在逻辑地址串行中的位置,以识别主机系统1000所欲写入的位码所在的文件区段。
而当主机系统1000下达的是读取指令时,假设此读取指令欲读取一存取地址范围。内存管理电路1043可将此存取地址范围的起始地址与目录区630中的根目录所记录的各现有文件的文件起始逻辑地址进行比对,进而判断主机系统1000所欲读取的位码所属的文件,以及储存该文件的文件起始逻辑地址。接着,内存管理电路1043根据文件起始逻辑地址以及文件配置表找出接续在文件起始逻辑地址之后用以储存该文件的下一个逻辑地址。以此类推,内存管理电路1043可藉由分析文件配置表而找出主机系统1000欲读取的位码所属的文件被依序地储存在哪些逻辑地址(该些逻辑地址称为逻辑地址串行)。内存管理电路1043能根据存取地址范围在逻辑地址串行中的位置以识别主机系统1000所欲读取的位码所在的文件区段。
在识别主机系统1000欲写入或读取的位码所在的文件区段后,内存管理电路1043判断文件区段是否相符于病毒特征码数据库所记录的预设文件区段。举例来说,假设病毒特征码数据库所记录的预设文件区段为文件的前段、中段,以及后段,内存管理电路1043会判断上述位码所在的文件区段是否为前段、中段,或后段。然而上述文件分段的方式仅是为了说明所举出的范例,并不用以限制本发明的范围。
若文件区段相符于预设文件区段,内存管理电路1043比对上述位码是否与预设文件区段对应的病毒特征码相符。举例来说,倘若上述位码是位于所属文件的前段,内存管理电路1043将自病毒特征码数据库搜寻出所有对应文件前段的病毒特征码,再将上述位码与搜寻到的病毒特征码进行比对。倘若在上述位码中能比对出所搜寻到的病毒特征码,表示上述位码遭受病毒感染,基此,内存管理电路1043不将上述位码写入至内存储存装置100或不将上述位码回传至主机系统1000。
然而,倘若上述位码所在的文件区段不符任何预设文件区段,内存管理电路1043则会将其拆解为相符于预设文件区段的多个子文件区段再进行比对。例如,当目前要写入或读取的位码是整个文件时,内存管理电路1043则会将整个文件拆解为前段、中段,以及后段。并比对在文件前段部份的位码是否与病毒特征码数据库中文件前段所对应的病毒特征码相符。若是,则不将属于文件前段部份的位码写入至内存储存装置100或不将此部份的位码回传至主机系统1000。以此类推,内存管理电路1043也将对文件中段与后段所各别对应的位码进行比对,以判断是否要将该些位码写入至内存储存装置100或回传至主机系统1000。
内存储存装置100在运作时是因应主机系统1000的读取指令而由内存管理电路1043将接收自可复写式非挥发性内存芯片106的位码回传至主机系统1000,并因应主机系统1000的写入指令而由内存管理电路1043将接收自主机系统1000的位码写入可复写式非挥发性内存芯片106,由于每个指令所要写入或读取的位码未必是一个完整的文件,而可能仅是文件的片段,因此内存管理电路1043只需判断主机系统1000此次要读取或写入的位码是位于文件的哪个区段,再去比对对应该文件区段的病毒特征码,便能迅速判定位码是否遭受病毒感染。
图6是根据本发明的一范例实施例显示的病毒扫描方法的流程图。请参阅图6,首先如步骤S610所示,内存管理电路1043提供一病毒特征码数据库,其记录至少一预设文件区段以及上述预设文件区段所对应的至少一病毒特征码。
在步骤S620中,内存管理电路1043配置多个逻辑地址以映像可复写式非挥发性内存芯片106的实体区块中的部分实体地址。
在步骤S630中,内存管理电路1043接收至少一位码,上述位码可以是主机系统1000所欲写入的位码或主机系统1000所欲读取的位码。接着如步骤S640所示,内存管理电路1043分析文件配置表以辨识上述位码所在的文件区段。
接着在步骤S650中,内存管理电路1043判断文件区段是否相符于病毒特征码数据库中的任何预设文件区段。
若文件区段相符于预设文件区段,如步骤S660所示,内存管理电路1043判断上述位码是否与预设文件区段对应的病毒特征码相符。若上述位码与预设文件区段对应的病毒特征码相符,如步骤S665所示,内存管理电路1043不将上述位码写入至内存储存装置100或不将上述位码回传至主机系统1000。反之,若上述位码与预设文件区段对应的病毒特征码并不相符,如步骤S670所示,内存管理电路1043将上述位码写入至内存储存装置100或将上述位码回传至主机系统1000。
倘若文件区段不相符于任何预设文件区段,如步骤S675所示,内存管理电路1043将文件区段拆解为相符于预设文件区段的多个子文件区段。并如步骤S680所示,内存管理电路1043判断在该些子文件区段所对应的位码之中是否存在与预设文件区段对应的病毒特征码相符的位码。若是,如步骤S685所示,内存管理电路1043不将与预设文件区段对应的病毒特征码相符的位码写入至内存储存装置100或不将与预设文件区段对应的病毒特征码相符的位码回传至主机系统1000。若否,如步骤S690所示,内存管理电路1043将此文件区段的位码写入至内存储存装置100或将此文件区段的位码回传至主机系统1000。
在本发明的一范例实施例中,内存储存装置100配置有一发光组件,例如发光二极管(Light-Emitting Diode,LED)灯。而在判定主机系统1000所欲读取或写入的位码与预设文件区段对应的病毒特征码相符后,内存管理电路1043会暂停传送或写入位码的动作并启动发光组件(例如控制发光组件闪烁),以告知使用者所欲读取或写入的位码遭受病毒感染。
图7是根据本发明的另一范例实施例显示的内存储存装置的概要方框图。在本范例实施例中,制造商在内存储存装置100出厂之前,便已将可复写式非挥发性内存芯片106逻辑地分割为第一分割区1061以及只读且隐藏的第二分割区1063,并且将自动执行文件与应用程序预先烧录在第二分割区1063。
第二分割区1063系用以仿真只读的光盘(CD-ROM)分割区。且由于第二分割区1063为隐藏的分割区,因此在一般操作模式下,主机系统1000的操作系统仅能识别第一分割区1061。亦即,内存管理电路1043所配置的逻辑地址系映像属于第一分割区1061的部分实体地址,且主机系统1000仅能对第一分割区1061进行存取。
在本范例实施例中,若内存管理电路1043判定主机系统1000所欲读取或写入的位码与预设文件区段对应的病毒特征码相符时,除了不将上述位码写入至内存储存装置100或不将上述位码回传至主机系统1000之外,还会发出特定指令指示主机系统接口1041与数据传输接口1110中断耦接(亦即,使连接器102与主机系统1000成为非耦接状态)并且再重新耦接(亦即,使连接器102与主机系统1000重新成为耦接状态)。换言之,内存储存装置100会仿真一断电行为(或热插拔动作),进而让主机系统1000再次询问内存储存装置100的识别信息,而此时内存管理电路1043会向主机系统1000宣告第二分割区1063为光盘分割区。接着,主机系统1000的操作系统会自动运转储存于第二分割区1063的自动执行档,且自动执行文件会在主机系统1000自动地执行应用程序以进行一后处理程序。举例来说,后处理程序例如是在主机系统1000的显示器1206显示一使用者接口,以显示目前要写入或读取的位码遭受病毒感染的警示讯息,或显示询问使用者是否要续传位码的询问讯息。在另一范例实施例中,后处理程序也可以是执行一完整扫毒操作。
在一范例实施例中,在内存管理电路1043接收来自主机系统1000的进入暂停模式(suspend mode)讯号后,由于内存管理电路1043具有分析文件配置表的能力,因此能分析文件配置表以识别储存在可复写式非挥发性内存芯片106的现有文件。在接收来自主机系统1000的离开暂停模式讯号之前,内存管理电路1043会分别将各现有文件与病毒特征码数据库所记录的各病毒特征码进行比对,从而判断各现有文件是否遭受病毒感染。换言之,一旦主机系统1000进入暂停模式,内存管理电路1043便会自动开始对各现有文件逐一进行病毒扫瞄,直到主机系统1000离开暂停模式才停止病毒扫瞄动作。其中,倘若内存管理电路1043判定有任何现有文件遭受病毒感染,则会启动发光组件(例如控制发光组件闪烁),以告知使用者在内存储存装置100中已有文件遭受病毒感染。
在本发明的又一范例实施例中,内存控制器104除了具有预设的病毒特征码数据库,当接收到病毒特征码更新指令以及病毒特征码更新数据时,内存管理电路1043会将病毒特征码更新数据写入病毒特征码数据库,以更新病毒特征码数据库的内容。
综上所述,在本发明所述的上述范例实施例中,由于内存控制器具备分析文件配置表的能力,故能在因应主机系统的指令而将欲读取的位码回传至主机系统或将欲写入的位码写入至内存储存装置之前,利用文件配置表以辨识位码所属的文件区段,从而自病毒特征码数据库找出对应的病毒特征码来进行比对。如此一来,内存储存装置本身便能判断主机系统欲写入或读取的位码是否遭受病毒感染。此外,当主机系统进入暂停模式时,内存储存装置亦可逐一对现有文件进行病毒扫描。而只要对内存储存装置下达特定的病毒特征码更新指令,也能更新内存储存装置中的病毒特征码数据库。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中的普通技术人员,当可作些许的更动与润饰,而不脱离本发明的精神和范围。
Claims (24)
1.一种病毒扫描方法,用于耦接至一主机系统的一内存储存装置,该内存储存装置包括一可复写式非挥发性内存芯片,该可复写式非挥发性内存芯片具有多个实体区块且各该些实体区块具有多个实体地址,该病毒扫描方法包括:
提供一病毒特征码数据库,记录至少一预设文件区段以及该至少一预设文件区段所对应的至少一病毒特征码;
配置多个逻辑地址以映射部分的该些实体地址,其中该主机系统使用一文件系统来存取该些逻辑地址且该文件系统包括一文件配置表;
接收至少一位码,其中该至少一位码包括该主机系统所欲写入的位码或该主机系统所欲读取的位码;
分析该文件配置表以辨识该至少一位码所在的一文件区段;
判断该文件区段是否相符于该至少一预设文件区段;
若该文件区段相符于该至少一预设文件区段时,则判断该至少一位码是否与该至少一预设文件区段对应的该至少一病毒特征码相符;以及
若该至少一位码与该至少一预设文件区段对应的该至少一病毒特征码相符时,则不将该至少一位码写入至该内存储存装置或不将该至少一位码回传至该主机系统。
2.根据权利要求1所述的病毒扫描方法,该方法还包括:
若该文件区段不相符于该至少一预设文件区段,则将该文件区段拆解为相符于该至少一预设文件区段的多个子文件区段;
判断在该些子文件区段所对应的位码之中是否存在与该至少一预设文件区段对应的该至少一病毒特征码相符的位码;以及
若在该些子文件区段所对应的位码之中存在与该至少一预设文件区段对应的该至少一病毒特征码相符的位码时,则不将与该至少一预设文件区段对应的该至少一病毒特征码相符的位码写入至该内存储存装置或不将与该至少一预设文件区段对应的该至少一病毒特征码相符的位码回传至该主机系统。
3.根据权利要求1所述的病毒扫描方法,其中该至少一位码对应一存取地址范围,而分析该文件配置表以辨识该至少一位码所在的该文件区段的步骤包括:
自该文件配置表找出该至少一位码所属的一文件所对应的一逻辑地址串行;以及
根据该存取地址范围在该逻辑地址串行中的位置以识别该至少一位码所在的该文件区段。
4.根据权利要求1所述的病毒扫描方法,其中该可复写式非挥发性内存芯片被逻辑地分割为一第一分割区与一第二分割区,该些逻辑地址为映射属于该第一分割区的部分的该些实体地址,且该第二分割区储存有一自动执行文件与一应用程序,该方法还包括:
使该主机系统的一操作系统自动运转该自动执行档;以及
该自动执行文件自动地执行该应用程序以进行一后处理程序。
5.根据权利要求4所述的病毒扫描方法,其中该后处理程序包括显示该至少一位码遭受病毒感染的一警示讯息、显示询问是否续传该至少一位码的一询问讯息,或执行一完整扫毒操作。
6.根据权利要求1所述的病毒扫描方法,还包括:
接收来自该主机系统的一进入暂停模式讯号;
分析该文件配置表以识别储存于该可复写式非挥发性内存芯片的至少一现有文件;以及
在接收来自该主机系统的一离开暂停模式讯号之前,将该至少一现有文件与该病毒特征码数据库所记录的该至少一病毒特征码进行比对,以判断该至少一现有文件是否遭受病毒感染。
7.根据权利要求6所述的病毒扫描方法,其中该内存储存装置配置有一发光组件,该方法还包括:
若该至少一位码与该至少一预设文件区段对应的该至少一病毒特征码相符或该至少一现有文件遭受病毒感染时,启动该发光组件。
8.根据权利要求1所述的病毒扫描方法,还包括:
接收一病毒特征码还新指令与一病毒特征码还新数据;以及
利用该病毒特征码还新数据还新该病毒特征码数据库。
9.一种内存控制器,用于管理一内存储存装置中的一可复写式非挥发性内存芯片,该内存控制器包括:
一主机系统接口,用以耦接一主机系统;
一内存接口,用以耦接该可复写式非挥发性内存芯片,其中该可复写式非挥发性内存芯片具有多个实体区块且各该些实体区块具有多个实体地址;以及
一内存管理电路,耦接至该主机系统接口与该内存接口,该内存管理电路用以提供一病毒特征码数据库,该病毒特征码数据库记录至少一预设文件区段以及该至少一预设文件区段所对应的至少一病毒特征码,
该内存管理电路还用以配置多个逻辑地址以映射部分的该些实体地址,其中该主机系统使用一文件系统来存取该些逻辑地址且该文件系统包括一文件配置表,
该内存管理电路还用以在接收至少一位码时,分析该文件配置表以辨识该至少一位码所在的一文件区段,其中该至少一位码包括该主机系统所欲写入的位码或该主机系统所欲读取的位码,
该内存管理电路还用以判断该文件区段是否相符于该至少一预设文件区段,若该文件区段相符于该至少一预设文件区段时,该内存管理电路判断该至少一位码是否与该至少一预设文件区段对应的该至少一病毒特征码相符,
若该至少一位码与该至少一预设文件区段对应的该至少一病毒特征码相符时,该内存管理电路不将该至少一位码写入至该内存储存装置或不将该至少一位码回传至该主机系统。
10.根据权利要求9所述的内存控制器,其中若该文件区段不相符于该至少一预设文件区段,该内存管理电路将该文件区段拆解为相符于该至少一预设文件区段的多个子文件区段,并判断在该些子文件区段所对应的位码之中是否存在与该至少一预设文件区段对应的该至少一病毒特征码相符的位码,
若该内存管理电路判断在该些子文件区段所对应的位码之中存在与该至少一预设文件区段对应的该至少一病毒特征码相符的位码时,该内存管理电路不将与该至少一预设文件区段对应的该至少一病毒特征码相符的位码写入至该内存储存装置或不将与该至少一预设文件区段对应的该至少一病毒特征码相符的位码回传至该主机系统。
11.根据权利要求9所述的内存控制器,其中该至少一位码对应一存取地址范围,而该内存管理电路还用以自该文件配置表找出该至少一位码所属的一文件所对应的一逻辑地址串行,以及根据该存取地址范围在该逻辑地址串行中的位置以识别该至少一位码所在的该文件区段。
12.根据权利要求9所述的内存控制器,其中该可复写式非挥发性内存芯片被逻辑地分割为一第一分割区与一第二分割区,该些逻辑地址系映射属于该第一分割区的部分的该些实体地址,且该第二分割区储存有一自动执行文件与一应用程序,在该内存管理电路不将该至少一位码写入至该内存储存装置或不将该至少一位码回传至该主机系统之后,该内存管理电路会使该主机系统的一操作系统自动运转该自动执行档,且该自动执行档自动地执行该应用程序以进行一后处理程序。
13.根据权利要求12所述的内存控制器,其中该后处理程序包括显示该至少一位码遭受病毒感染的一警示讯息、显示询问是否续传该至少一位码的一询问讯息,或执行一完整扫毒操作。
14.根据权利要求9所述的内存控制器,其中该内存管理电路还用以在接收来自该主机系统的一进入暂停模式讯号后,分析该文件配置表以识别储存于该可复写式非挥发性内存芯片的至少一现有文件,
在接收来自该主机系统的一离开暂停模式讯号之前,该内存管理电路将该至少一现有文件与该病毒特征码数据库所记录的该至少一病毒特征码进行比对,以判断该至少一现有文件是否遭受病毒感染。
15.根据权利要求14所述的内存控制器,其中该内存储存装置配置有一发光组件,该内存管理电路还用以在判定该至少一位码与该至少一预设文件区段对应的该至少一病毒特征码相符或在该至少一现有文件遭受病毒感染时,启动该发光组件。
16.根据权利要求9所述的内存控制器,其中该内存管理电路还用以接收一病毒特征码更新指令与一病毒特征码更新数据,并利用该病毒特征码更新数据更新该病毒特征码数据库。
17.一种内存储存装置,包括:
一可复写式非挥发性内存芯片,具有多个实体区块且各该些实体区块具有多个实体地址;
一连接器,用以耦接一主机系统;以及
一内存控制器,耦接至该可复写式非挥发性内存芯片与该连接器,该内存控制器用以提供一病毒特征码数据库,该病毒特征码数据库记录至少一预设文件区段以及该至少一预设文件区段所对应的至少一病毒特征码,
该内存控制器还用以配置多个逻辑地址以映像部分的该些实体地址,其中该主机系统使用一文件系统来存取该些逻辑地址且该文件系统包括一文件配置表,
该内存控制器还用以在接收至少一位码时,分析该文件配置表以辨识该至少一位码所在的一文件区段,其中该至少一位码包括该主机系统所欲写入的位码或该主机系统所欲读取的位码,
该内存控制器还用以判断该文件区段是否相符于该至少一预设文件区段,若该文件区段相符于该至少一预设文件区段时,该内存控制器判断该至少一位码是否与该至少一预设文件区段对应的该至少一病毒特征码相符,
若该至少一位码与该至少一预设文件区段对应的该至少一病毒特征码相符时,该内存控制器不将该至少一位码写入至该内存储存装置或不将该至少一位码回传至该主机系统。
18.根据权利要求17所述的内存储存装置,其中若该文件区段不相符于该至少一预设文件区段时,该内存控制器将该文件区段拆解为相符于该至少一预设文件区段的多个子文件区段,并判断在该些子文件区段所对应的位码之中是否存在与该至少一预设文件区段对应的该至少一病毒特征码相符的位码,
若该内存控制器判断在该些子文件区段所对应的位码之中存在与该至少一预设文件区段对应的该至少一病毒特征码相符的位码时,该内存控制器不将与该至少一预设文件区段对应的该至少一病毒特征码相符的位码写入至该内存储存装置或不将与该至少一预设文件区段对应的该至少一病毒特征码相符的位码回传至该主机系统。
19.根据权利要求17所述的内存储存装置,其中该至少一位码对应一存取地址范围,而该内存控制器还用以自该文件配置表找出该至少一位码所属的一文件所对应的一逻辑地址串行,以及根据该存取地址范围在该逻辑地址串行中的位置以识别该至少一位码所在的该文件区段。
20.根据权利要求17所述的内存储存装置,其中该可复写式非挥发性内存芯片被逻辑地分割为一第一分割区与一第二分割区,该些逻辑地址系映像属于该第一分割区的部分的该些实体地址,且该第二分割区储存有一自动执行文件与一应用程序,在该内存控制器不将该至少一位码写入至该内存储存装置或不将该至少一位码回传至该主机系统之后,该内存控制器会使该主机系统的一操作系统自动运转该自动执行档,且该自动执行档自动地执行该应用程序以进行一后处理程序。
21.根据权利要求20所述的内存储存装置,其中该后处理程序包括显示该至少一位码遭受病毒感染的一警示讯息、显示询问是否续传该至少一位码的一询问讯息,或执行一完整扫毒操作。
22.根据权利要求17所述的内存储存装置,其中该内存控制器还用以在接收来自该主机系统的一进入暂停模式讯号后,分析该文件配置表以识别储存于该可复写式非挥发性内存芯片的至少一现有文件,
在接收来自该主机系统的一离开暂停模式讯号之前,该内存控制器将该至少一现有文件与该病毒特征码数据库所记录的该至少一病毒特征码进行比对,以判断该至少一现有文件是否遭受病毒感染。
23.根据权利要求22所述的内存储存装置,其中该内存储存装置配置有一发光组件,该内存控制器还用以在判定该至少一位码与该至少一预设文件区段对应的该至少一病毒特征码相符或在该至少一现有文件遭受病毒感染时,启动该发光组件。
24.根据权利要求17所述的内存储存装置,其中该内存控制器还用以接收一病毒特征码更新指令与一病毒特征码更新数据,并利用该病毒特征码更新数据更新该病毒特征码数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110077315.2A CN102693372B (zh) | 2011-03-24 | 2011-03-24 | 内存储存装置、内存控制器与病毒扫描方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110077315.2A CN102693372B (zh) | 2011-03-24 | 2011-03-24 | 内存储存装置、内存控制器与病毒扫描方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102693372A true CN102693372A (zh) | 2012-09-26 |
CN102693372B CN102693372B (zh) | 2015-01-07 |
Family
ID=46858800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110077315.2A Active CN102693372B (zh) | 2011-03-24 | 2011-03-24 | 内存储存装置、内存控制器与病毒扫描方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102693372B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815166A (zh) * | 2016-12-27 | 2017-06-09 | 深圳市安云信息科技有限公司 | 一种双控制器之间传输文件的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304092A (zh) * | 2000-01-11 | 2001-07-18 | 神达电脑股份有限公司 | Ide硬盘装置设定在pio传输模式下的病毒检测方法 |
CN1304089A (zh) * | 2000-01-11 | 2001-07-18 | 神达电脑股份有限公司 | 感染计算机病毒文件的追踪检测方法 |
US20050278781A1 (en) * | 2004-06-14 | 2005-12-15 | Lionic Corporation | System security approaches using sub-expression automata |
TW200841174A (en) * | 2007-01-12 | 2008-10-16 | Toshiba Kk | Host device and memory system |
-
2011
- 2011-03-24 CN CN201110077315.2A patent/CN102693372B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304092A (zh) * | 2000-01-11 | 2001-07-18 | 神达电脑股份有限公司 | Ide硬盘装置设定在pio传输模式下的病毒检测方法 |
CN1304089A (zh) * | 2000-01-11 | 2001-07-18 | 神达电脑股份有限公司 | 感染计算机病毒文件的追踪检测方法 |
US20050278781A1 (en) * | 2004-06-14 | 2005-12-15 | Lionic Corporation | System security approaches using sub-expression automata |
TW200841174A (en) * | 2007-01-12 | 2008-10-16 | Toshiba Kk | Host device and memory system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815166A (zh) * | 2016-12-27 | 2017-06-09 | 深圳市安云信息科技有限公司 | 一种双控制器之间传输文件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102693372B (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI432987B (zh) | 記憶體儲存裝置、其記憶體控制器與病毒掃描方法 | |
US10126959B2 (en) | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage | |
TWI425355B (zh) | 資料存取方法、記憶體控制器與儲存系統 | |
US8230160B2 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
JP4371771B2 (ja) | 不揮発性メモリシステムにおいて用いられる電力管理ブロック | |
US8429677B2 (en) | Composite solid state drive identification and optimization technologies | |
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN112445723A (zh) | 用于在存储器系统中的传输映射信息的装置和方法 | |
TWI421686B (zh) | 資料存取方法與系統、儲存媒體控制器與儲存系統 | |
KR102697883B1 (ko) | 스토리지 장치의 구동 방법, 이를 수행하는 스토리지 장치 및 이를 포함하는 스토리지 시스템 | |
CN102890655B (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
CN102053796A (zh) | 闪存储存系统、闪存控制器与数据处理方法 | |
TWI493341B (zh) | 記憶體儲存裝置及其修復方法 | |
CN103578566A (zh) | 存储器存储装置及其修复方法 | |
CN102693372B (zh) | 内存储存装置、内存控制器与病毒扫描方法 | |
CN102543184A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN102043724B (zh) | 用于闪存的区块管理方法、控制器与存储系统 | |
US8140800B2 (en) | Storage apparatus | |
US10884642B2 (en) | Method and apparatus for performing data-accessing management in a storage server | |
TWI451250B (zh) | 記憶體組態方法、記憶體控制器與記憶體儲存裝置 | |
CN114124301B (zh) | 一种具有数据校验和错误重传机制的虚拟媒体传输系统 | |
TWI498731B (zh) | 非揮發性記憶體儲存系統 | |
CN116149569A (zh) | 基于文件系统的数据整理方法、存储装置及控制电路 | |
CN117312184A (zh) | 数据存储方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |