循序存取侦测系统及方法
【技术领域】
[0001] 本发明涉及数据存取技术领域,尤其涉及一种循序存取侦测系统及方法。
【背景技术】
[0002] 在计算机系统上,磁盘IO的管理是关乎系统效能的关键。而在新兴的储存型快闪 记忆体磁盘(NAND flash disk)上,由于其高速的读写速度,可为计算机系统效能带来显 著提升,故已开始被数据库系统所重视。然而NAND flash对于随机存取的读写效率虽远高 于磁盘,但其连续存取的读取效率则可被多颗硬盘的独立冗余磁盘阵列(Redundant Array of Independent Disk, RAID)系统追平。为了保存NAND flash珍贵的写入次数限制,进而 提高其使用年限,降低建置成本,目前已经有算法可以通过记录磁盘存取的行为次数中看 出该存取是不是为连续存取。若该存取是连续存取,则不予写入NAND flash。此法可藉由 记录每一笔进入的扇区编号(sector number),进而得知该存取是不是为连续性的存取或 是随机性存取,此方法被称之为"循序存取侦测法"(sequential I/O detection)。
[0003] 然而,目前的循序存取侦测法是主要使用最近引用串行内存块LRU(Least Recently Used)中的LRU列表(LRU串列),LRU列表的特性是最近被参考到的元素会排在 LRU列表的最前面,而越久没被用到的元素则会排在越后面。而当LRU列表空间不足以容纳 新数据时,则将LRU列表的尾端的元素删除,并将新数据插入到LRU列表中,再将该新数据 移至LRU列表的最前端。如此可以达到不需使用计数器的情况下就能知道LRU列表中各个 元素被参考的频繁度。但是此LRU列表的搜寻方法为循序搜寻,所以在最差的状况下,有可 能从LRU列表的最头端搜寻到最尾端,因而造成了搜寻效率很低。
【发明内容】
[0004] 鉴于以上内容,有必要提供一种循序存取侦测系统及方法,其可以减少NAND flash的扇区的写入次数,便可节省大量的逐笔统计所需的时间和空间。
[0005] -种循序存取侦测系统,该系统包括:判断模块,用于当储存型快闪记忆体磁盘 NAND flash端收到某个存取文件的一个存取单元时,判断所述存取单元所对应的存取文件 是否为连续存取文件;标识模块,用于当所述存取单元所对应的存取文件是连续存取文件 时,将该存取文件所对应的循序存取标记标识为是循序存取任务的标记。
[0006] -种循序存取侦测方法,该方法包括:判断步骤,当储存型快闪记忆体磁盘NAND flash端收到某个存取文件的一个存取单元时,判断所述存取单元所对应的存取文件是否 为连续存取文件;标识步骤一,当所述存取单元所对应的存取文件是连续存取文件时,将该 存取文件所对应的循序存取标记标识为是循序存取任务的标记。
[0007] 相较于现有技术,本发明循序存取侦测系统及方法,通过采用二叉查找树及LRU 列表的方法来建立列表中每个结点间的联系,这样列表具有二叉查找树及LRU列表两种数 据结构,故不需要以指针等方式再去进行搜寻列表中各个结点的连结,因此结点间可快速 的互相参照,提高了搜寻效率,减少NAND flash的扇区的写入次数,便可节省大量的逐笔统 计所需的时间。
【附图说明】
[0008] 图1是本发明循序存取侦测系统的应用环境图。
[0009] 图2是本发明循序存取侦测系统的较佳实施例的模块图。
[0010] 图3及图4是本发明循序存取侦测方法的较佳实施例的流程图。
[0011] 图5是列表的二叉查找树数据结构示意图。
[0012] 图6是重排后的二叉查找树数据结构示意图。
[0013] 主要元件符号说明
[0014]
[0015]
【主权项】
1. 一种循序存取侦测系统,其特征在于,该系统包括: 判断模块,用于当储存型快闪记忆体磁盘NAND flash端收到某个存取文件的一个存取 单元时,判断所述存取单元所对应的存取文件是否为连续存取文件; 标识模块,用于当所述存取单元所对应的存取文件是连续存取文件时,将该存取文件 所对应的循序存取标记标识为是循序存取任务的标记。
2. 如权利要求1所述的循序存取侦测系统,其特征在于,所述标识模块,还用于当所述 存取单元所对应的存取文件不是连续存取文件时,将该存取文件所对应的循序存取标记标 识为是不循序存取任务的标记。
3. 如权利要求1所述的循序存取侦测系统,其特征在于,该系统还包括: 查找模块,用于当最近引用串行内存块LRU的列表的所有结点中不存在与所述存取单 元相连续的存取单元时,先根据所述列表的LRU列表数据结构查找将要存储所述存取单元 的结点,该结点记为第二结点,及在所述列表中查找数值与所述存取单元的编号相同的结 点,将该结点记为第H结点; 记录模块,用于记录第H结点所对应的累加连续存取次数; 更新模块,用于将所述第二结点的数值更新为所述存取单元的编号; 移动模块,用于移动所述第二结点在所述列表的LRU列表数据结构中的位置使第二结 点排在所述列表的LRU列表数据结构的最前面; 重排模块,用于根据二叉查找树的特点及所述第二结点的数值重排所述列表的二叉查 找树数据结构; 累加模块,用于将所述存取单元的存取的一次次数及所记录的第H结点所对应的累加 连续存取次数进行累加计算更新后的第二结点所对应的累加连续存取次数。
4. 如权利要求3所述的循序存取侦测系统,其特征在于,记录模块还用于,当在所述列 表中没有查找数值与所述存取单元的编号相同的结点时,记录第H结点所对应的累加连续 存取次数为0。
5. 如权利要求3所述的循序存取侦测系统,其特征在于,所述重排模块,还用于当所述 列表中存在第H结点时,先删除所述第H结点,再重排所述列表的二叉查找树数据结构。
6. 如权利要求3所述的循序存取侦测系统,其特征在于,该系统还包括: 所述查找模块,还用于当LRU的列表中存在与所述存取单元相连续的存取单元时,将 与所述存