发明名称 Linux系统下实体记忆体之测试方法
摘要 一种Linux系统下实体记忆体之测试方法,系利用一个Linux作业系统下的字元设备驱动程式启动一个字元设备,用户只需透过Linux提供的档案作业函数,就可以实现在用户层对指定之实体记忆体进行读写操作。该种方法对于记忆体分配的最小单位为页,页的大小视Linux系统核心(Kernel)的配置所定。除去系统自身保留的记忆体以及其他应用程式(包含测试程式本身)所占用的记忆体空间,利用本发明之测试方法可以直接访问到所有剩余的实体记忆体并进行读写测试,因此大大提高了记忆体测试的涵盖率和准确性。
申请公布号 TWI292528 申请公布日期 2008.01.11
申请号 TW094144319 申请日期 2005.12.14
申请人 英业达股份有限公司 发明人 陈怡;陈玄同;刘文涵
分类号 G06F12/02(2006.01) 主分类号 G06F12/02(2006.01)
代理机构 代理人 许世正 台北市信义区忠孝东路5段410号4楼
主权项 1.一种Linux系统下实体记忆体之测试方法,系应用 于Linux作业系统下的实体记忆体之检测过程中,该 方法包含以下步骤: (a)、启动一字元设备驱动程式,以驱动一字元设备 对一实体记忆体之物理页进行分配与释放; (b)、当该字元设备成功启动后,以页为单位,按照 该实体记忆体之物理位址遍历该整个实体记忆体; (c)、判断遍历是否完成,如果完成,则关闭该字元 设备,否则,透过Linux系统提供之档案作业函数设定 所要访问之该实体记忆体之物理位址; (d)、当成功设定所要访问之该实体记忆体之物理 位址后,透过Linux系统提供之档案作业函数将该实 体记忆体映射至用户空间; (e)、当该实体记忆体被成功映射至用户空间后,透 过记忆体检测演算法对该实体记忆体进行测试; (f)、透过Linux系统提供之档案作业函数解除该实 体记忆体与用户空间之映射关系;以及 (g)、透过该Linux系统提供之档案作业函数释放该 字元设备中所储存之讯息,并继续以页为单位,按 照该实体记忆体之物理位址遍历该整个实体记忆 体,直至遍历完成。 2.如申请专利范围第1项所述之Linux系统下实体记 忆体之测试方法,其中所述字元设备对该实体记忆 体之物理页进行分配更包含如下步骤: 获得所要分配之实体记忆体之物理位址; 将该物理位址转换为其所存在之页结构; 判断该页是否被系统核心或其他硬体及应用程式 占用,如果被占用则返回出错讯息并终止分配进程 ,如果未被占用则获取该页所在之页区结构; 判断该页是否存在于该页区之夥伴(buddy)演算法结 构中,如果该页不存在于该页区之夥伴(buddy)演算 法结构中,则返回出错讯息并终止分配进程,否则, 对该页区之夥伴(buddy)演算法结构之访问加锁; 从该页区之夥伴(buddy)演算法链表中移出该页所存 在之成员; 对该页区之夥伴(buddy)演算法结构之访问开锁;以 及 将该页映射到用户空间,并终止分配进程。 3.如申请专利范围第1项所述之Linux系统下实体记 忆体之测试方法,其中所述字元设备对该实体记忆 体之物理页进行释放更包含如下步骤: 获得所要释放之实体记忆体之物理位址; 将该物理位址转换为其所存在之页结构; 判断所要释放的页是否已经被分配,如果未被分配 则返回出错讯息并终止释放进程,如果已被分配则 获取该页所在之页区结构; 对该页区之夥伴(buddy)演算法结构之访问加锁; 向该页区之夥伴(buddy)演算法链表中加入该页所存 在之成员; 对该页区之夥伴(buddy)演算法结构之访问开锁;以 及 返回释放已成功之讯息,并终止释放进程。 4.如申请专利范围第1项所述之Linux系统下实体记 忆体之测试方法,其中步骤(c)与步骤(g)中所述之档 案作业函数为ioctl函数。 5.如申请专利范围第1项所述之Linux系统下实体记 忆体之测试方法,其中步骤(d)中所述之档案作业函 数为mmap函数。 6.如申请专利范围第1项所述之Linux系统下实体记 忆体之测试方法,其中步骤(f)中所述之档案作业函 数为munmap函数。 7.如申请专利范围第1项所述之Linux系统下实体记 忆体之测试方法,其中所述记忆体检测演算法是透 过向记忆体中写入特定的数値,然后再读出该数値 进行比对从而实现记忆体测试之各种记忆体检测 演算法。 8.如申请专利范围第7项所述之Linux系统下实体记 忆体之测试方法,其中所述记忆体检测演算法是透 过Linux系统提供的insmod命令将执行该演算法的驱 动程式模块动态加载到系统核心上实现的。 图式简单说明: 第1图为本发明之一种Linux系统下实体记忆体之测 试方法之方法流程图; 第2图为本发明之测试方法中的字元设备对实体记 忆体之物理页进行分配之方法流程图; 第3图为本发明之测试方法中的字元设备对实体记 忆体之物理页进行释放之方法流程图; 第4图为本发明之测试方法中所测试之实体记忆体 之页结构示意图;以及 第5图为本发明之测试方法中每个页区中的未被占 用页依照夥伴演算法链结而成之结构示意图。
地址 台北市士林区后港街66号