存储器的读写控制方法及对应的存储器与流程

文档序号:11806984阅读:来源:国知局
存储器的读写控制方法及对应的存储器与流程

技术特征:
1.一种存储器的读写控制方法,其特征在于,包括:将存储器的存储资源以块为单位进行划分;写入数据时:将要写入的数据合并成数据块,将所述数据块写入存储器的空闲块中,记录所写数据的标识及其对应的索引信息,每条所写数据的索引信息为该数据在存储器中的偏移量信息;读取数据时:按照欲读数据的标识和索引信息从存储器的相应偏移量处读取数据;其中,所述该数据在存储器中的偏移量信息包括:该数据在所述数据块中的偏移量信息和所述数据块在存储器中的偏移量信息,或者所述数据块中该数据所在的页在存储器中的偏移量信息、且所述页中记录该数据在该页中的偏移量。2.根据权利要求1所述的方法,其特征在于,当该数据在存储器中的偏移量信息包括该数据在所述数据块中的偏移量信息和所述数据块在存储器中的偏移量信息时,在写数据时进一步确定所要写入的数据在所述数据块中的偏移量信息;在读取数据时,具体为:按照欲读数据的标识和索引信息,从存储器中该数据所属块内的相应偏移量处读取出对应的数据。3.根据权利要求1所述的方法,其特征在于,当该数据在存储器中的偏移量信息包括所述数据块中该数据所在的页在存储器中的偏移量信息、且所述页中记录该数据在该页中的偏移量时,该方法进一步将所述存储器中的块以页为单位进行划分,在合并所述数据块时以页为单位对所述数据块进行划分,所述块及数据块的大小为所述页的大小的整数倍;在写入数据时,进一步在该数据所属页中记录该数据在该页中的偏移量;在读数据时,具体为:根据欲读数据的标识和索引信息从存储器中读取该数据所属页的内容,从该页中读取该数据在该页的偏移量信息,根据该偏移量信息从该页中读取数据。4.根据权利要求1或3所述的方法,其特征在于,所述将要写入的数据合并成数据块具体为:在内存中分配内存块,以页为单位对该内存块进行划分,将要写入的数据依次合并写入该内存块的各个页中,从而合并成数据块。5.根据权利要求4所述的方法,其特征在于,所述将要写入的数据依次合并写入所述内存块的各个页中具体为:从第一页开始,依次遍历所述内存块中的各个页,对于每一个当前页,执行下述流程:步骤a01、判断当前是否有要写入数据的当前残留数据,如果是,则执行步骤a02,否则执行步骤a04;步骤a02、判断当前残留数据能否全部写入当前页,如果能则执行步骤a04;否则执行步骤a03;步骤a03、将当前残留数据写入当前页,直至写满当前页,将未写入的数据作为新的当前残留数据,之后执行步骤a09;步骤a04、判断数据源中是否还有未写入的数据,如果是则执行步骤a05,否则执行步骤a08;步骤a05、从数据源中读取下一个未写入的数据;步骤a06、判断该下一数据能否全部写入当前页,如果能则返回步骤a04,否则执行步骤a07;步骤a07、确定从数据源中所读的数据的标识、在当前页中的偏移量、大小以及数量,将确定出的信息记录在当前页的头部;并确定各数据所属页在该内存块中的偏移量;步骤a08、将所述当前残留数据和从数据源读取的数据依次写入当前页,直到当前页满,未写入的数据作为新的当前的残留数据;步骤a09、判断当前页是否为最后一页,如果是则结束本流程,否则将下一页作为当前页,返回步骤a01。6.根据权利要求1至3任一项所述的方法,其特征在于,所述存储器中所划分的各个块的大小相同,所述数据块大小和存储器中所划分的块的大小相同。7.根据权利要求6所述的方法,其特征在于,所述存储器中,一个块的大小为512k,一个页的大小为4K。8.根据权利要求1所述的方法,其特征在于,在所述存储器的数量为两个以上时,所述将所述数据块写入存储器的空闲块中具体为:从第一个存储器的第一个块起,遍历所有存储器的第一个块,如果没有找到空闲块则遍历所有存储器的下一个块,直到出现空闲块为止,将所述数据块写入该空闲块中。9.根据权利要求1所述的方法,其特征在于,在更新存储器中的已有数据时,将新数据与其他待写入数据合并成数据块,将数据块写入存储器的新的空闲块中,并更新该数据的索引信息。10.根据权利要求9所述的方法,其特征在于,该方法进一步包括:设置存储器中每个块的有效长度;在更新存储器中的已有数据时,将该数据对应的原数据所在的块的有效长度减去该原数据的长度;判断存储器中各个块的有效长度,将有效长度小于预定长度的块中的有效数据进行合并,将合并后的有效数据写入新的空闲块中,并更新所述有效数据的索引;将合并前的所述有效长度小于预定长度的块设置为空闲块。11.一种存储器,其特征在于,该存储器的存储资源以块为单位进行了划分;并包括:写入控制模块,用于将要写入的数据合并成数据块,将所述数据块写入存储器的空闲块中,记录所写数据的标识及其对应的索引信息,每条所写数据的索引信息为该数据在存储器中的偏移量信息;读取控制模块,用于按照欲读数据的标识和索引信息从存储器的相应偏移量处读取数据;其中,所述该数据在存储器中的偏移量信息包括:该数据在所述数据块中的偏移量信息和所述数据块在存储器中的偏移量信息,或者所述数据块中该数据所在的页在存储器中的偏移量信息、且所述页中记录该数据在该页中的偏移量。12.根据权利要求11所述的存储器,其特征在于,当所述存储器中的块以页为单位进行划分,该数据在存储器中的偏移量信息包括所述数据块中该数据所在的页在存储器中的偏移量信息、且所述页中记录该数据在该页中的偏移量时,所述写入控制模块进一步用于在合并所述数据块时以页为单位对所述数据块进行划分,在写入数据时在该数据的所属页中记录该数据在该页中的偏移量;所述读取控制模块在读取数据时,具体用于根据欲读数据的标识和索引信息从存储器中读取该数据所属页的内容,从该页中读取该数据在该页的偏移量信息,根据该偏移量信息从该页中读取数据;所述块及数据块的大小为所述页的大小的整数倍。13.一种服务器,其包括至少一个权利要求11或12所述的存储器。14.如权利要求13所述的服务器,在所述存储器的数量为两个以上时,所述将所述数据块写入存储器的空闲块中具体为:从第一个存储器的第一个块起,遍历所有存储器的第一个块,如果没有找到空闲块则遍历所有存储器的下一个块,直到出现空闲块为止,将所述数据块写入该空闲块中。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1