主权项 |
一种固态盘的内存分区方法,包括如下具体步骤:(1)建立两个计数器PM和PB,分别用于记录第一额外操作开销和第二额外操作开销,其中所述第一额外操作开销包括将映射关系读出过程所消耗的时间,以及将映射关系写回闪存过程所消耗的时间;所述第二额外操作开销指数据写回闪存过程消耗的时间;(2)根据读写请求的状态更新计数器PM和PB,具体为:对于读请求,首先从内存中寻找该请求的映射关系,如果该映射关系不在内存中,首先将映射关系从闪存中读出,同时查找内存中的映射关系区域是否还有空闲空间,如果有,则将所述读出的映射关系存放在内存的映射关系区域,然后更新计数器PM;如果没有,首先将映射关系区域中旧的映射关系写回闪存,然后将所述读出的映射关系保存到内存中,最后更新计数器PM;对于写请求,首先在内存的数据缓存区中寻找该写请求数据,如果该写请求数据的旧数据不在数据缓存区,查看内存的数据缓存区是否还有空间,如果有,则将该写请求数据直接写到内存的数据缓存区;如果没有,则将数据缓存区中的旧数据写回闪存,然后将该写请求的数据写到内存的数据缓存区,最后更新计数器PB;(3)每响应一次读写请求或一定周期之后,调整内存中映射关系区和数据缓存区的大小比例,即计算当前状态下,内存中映射关系区和数据缓存区的最佳大小比例;(4)根据上述获得的映射关系区和数据缓存区的最佳大小比例,调整内存的组成,即可实现固态盘内存实时分区。 |