一种写均衡的处理方法和装置的制造方法_3

文档序号:9687356阅读:来源:国知局
器发送的读写请求,所述读写请求包括:读请求或写请求;
[0190]208a、对所述读写请求中包含的地址信息进行行间偏移量的计算,得到行间偏移后的地址信息;
[0191]209a、从所述存储器中由所述行间偏移后的地址信息标识的存储单元中读出数据,或,将所述读写请求包括的写请求对应的数据写入所述存储器中由所述行间偏移后的地址信息标识的存储单元中。
[0192]其中,步骤207a至209a描述的是存储器中已经完成行间偏移之后如何从存储器中读写数据,首先执行步骤207a,写均衡的处理装置接收到处理器发送的读写请求,该读写请求具体可以指的是读请求或者写请求,其中,在读写请求中包含地址信息,地址信息可以直接标识需要执行读写处理的存储单元,地址信息也可以通过携带的行与列来标识对哪个存储单元执行读写处理。
[0193]写均衡的处理装置从读写请求中解析出地址信息,然后执行步骤208a,写均衡的处理装置对读写请求中包含的地址信息进行行间偏移量的计算,得到行间偏移后的地址信息,对地址信息进行行间偏移量的计算可以计算出对于读写请求中包含的地址信息应该偏移多少才能读取到正确的数据。
[0194]在本发明的一些实施例中,写均衡的处理装置会记录第一存储单元阵列中每个行内存储的数据进行行间偏移的行间偏移量,写均衡的处理装置可以根据已经记录的行间偏移量对读写请求中包含的地址信息进行行间偏移量的计算,得到行间偏移后的地址信息,可以理解的是,对地址信息进行行间偏移量的计算相当于对读写请求中包含的地址信息进行纠正,由于本发明实施例中已经对第一存储单元阵列中各个行内存储的数据进行了迁移,若按照读写请求包含的地址信息直接从存储器中读取数据,那么可能无法得到正确的数据,所以需要对读写请求包含的地址信息进行纠正,根据前述内容可知,对于第一存储单元阵列,写均衡的处理装置都会进行行间偏移,然后记录下行间偏移量,由于处理器并不知悉写均衡的处理装置进行了行间偏移,处理器会按照数据原来存储的位置或者需要写入数据的原来位置来下发读写请求,在读写请求包含需要读写处理的地址信息,写均衡的处理装置在获取到读写请求中包含的地址信息后,通过记录的行间偏移量对所请求的地址信息进行纠正,得到纠正后的地址信息(也可以称之为行间偏移后的地址信息),则纠正后的地址信息可以被正确访问。
[0195]最后执行步骤209a,若接收到读请求,写均衡的处理装置从存储器中由行间偏移后的地址信息标识的存储单元中读出数据,或,若接收到写请求,写均衡的处理装置将读写请求包括的写请求对应的数据写入存储器中由行间偏移后的地址信息标识的存储单元中。
[0196]在本发明实施例中,若在存储器中第一存储单元所在行的写入计数达到预置的行阈值时,写均衡的处理装置执行步骤206,需要对第一存储单元所在行中所有列内存储的数据进行行内偏移,其中,对于存储器中写入计数达到行阈值的第一存储单元所在行,由于该行被擦写的次数已经达到了触发执行行内偏移的条件,在存储器中出现了不均匀的擦写,达到行阈值的第一存储单元所在行被频繁擦写,可能导致很快达到不可靠状态,使得整个存储介质的使用寿命变短,为了解决这样的问题,写均衡的处理装置需要对第一存储单元所在行进行行内偏移,写均衡的处理装置对第一存储单元所在行中所有列内存储的数据都偏移一次,以此可以实现第一存储单元所在行中各个列之间的写均衡。
[0197]在本发明实施例中,行内偏移是将达到行阈值的第一存储单元所在行中所有列内存储的数据都偏移一次,这样可以实现在一个行中所有列之间的写均衡,行内偏移需要将行中所有列内存储的数据重新写入一次。请参阅如图2-d所示,为本发明实施例提供的对第一存储单元所在行中所有列内存储的数据进行行内偏移的流程示意图,步骤206确定第一存储单元所在行的写入计数达到预置的行阈值时,对第一存储单元所在行中所有列内存储的数据进行行内偏移,具体可以包括如下步骤:
[0198]2061、将第一存储单元所在行中所有列内存储的数据读入到行缓存中;
[0199]2062、根据预设的行内偏移量,对行缓存中所缓存的数据进行偏移处理,将经过偏移处理后的数据重新写入到第一存储单元所在的行中。
[0200]其中,行内偏移量是重新写入第一存储单元所在的行中的新数据与第一存储单元所在行中所有列内存储的原数据之间相错的间隔。
[0201]对于步骤2061,写均衡的处理装置首先将第一存储单元所在行中所有列内存储的数据都读入到行缓存中,行缓存用于暂存从一个行内读出的数据,此时在行缓存中存储的就是第一存储单元所在行内存储的原数据,这里原数据意思是该数据原先在第一存储单元所在行内存储。
[0202]步骤2062中写均衡的处理装置获取到行内偏移量,其中行内偏移量用于指示在同一个行内将所有列的数据偏移多少,行内偏移量也可以解释为一个列偏移量,即同一个行内每个列都偏移多少,写均衡的处理装置获取到行内偏移量之后,按照行内偏移量从行缓存中将原数据重新写入到第一存储单元所在行中,此时可以得到第一存储单元所在行中所有列内存储的新数据,该新数据和原数据之间相错的间隔即为行内偏移量,通过行内偏移数据存储的行没有发生改变,只是存储的列按照行内偏移量进行了偏移,通过行内偏移可以使得第一存储单元所在行中所有列都完成行内迁移,从而使得一个行内的所有列能够达到写均衡。
[0203]对于前述的步骤2062,写均衡的处理装置记录下行内偏移量,其中,行内偏移量指的是第一存储单元所在行中所有列内存储的数据被迁移到新的列时产生的偏移量,结合前述的实施例描述,对于前述rowl内包括4个列columnl、column2、column3和column4的举例说明可知,rowl存储器储的原数据(数据1、数据2、数据3、数据4)进行行内偏移,被重新写入到了 rowl中,得到新数据为数据4、数据1、数据2、数据3,则新旧数据之间相错的间隔就是行内偏移量,通过行内偏移量可以从rowl中读取到原来在该行内存储的数据,例如行内偏移后的rowl中,CoIumnI存储器储的是数据4,为了读取到在rowl中原来column4存储器储的数据4,就不能从column4来读取,因为按照行内偏移量,原来column4存储器储的数据4已经迁移到了 columnl中,故通过行内偏移量进行纠正,就可以从columnl中读取到原来C0lumn4中存储的数据4。在对第一存储单元所在行中所有列进行行内偏移时记录下的行内偏移量就可以还原出行中各个列内存储的原数据。
[0204]在本发明的一些实施例中,行内偏移可以在第一存储单元所在行内向前进行偏移,也可以在第一存储单元所在行内向后进行偏移,具体偏移多少由行内偏移量来决定,具体的,行内偏移量具体可以为N个字节(英文为byte)或者第一存储单元所在行中列的颗粒大小,其中,N为非零自然数。举例来说,若N的取值为1,则行内偏移量可以为I个字节,则第一存储单元所在行中所有列内存储的新数据和原数据之间相错的间隔就是8个比特(英文为bit),若行内偏移量为第一存储单元所在行中列的颗粒大小,则第一存储单元所在行中所有列内存储的新数据和原数据之间相错的间隔就由列的颗粒大小来决定,列的颗粒大小指的是在一个行中一个列占的字节数,通常情况下,列的颗粒大小可以为2个字节,即16个比特。需要注意的是,设置的行内偏移量要避免偏移后所有行内存储的新数据和原数据完全重叠,否则就会出现相当于没有进行行内偏移的情况。
[0205]举例说明,以达到行阈值的行为rowl为例,在rowl内共包括有4个列分别为columnl、column2、column3 和 column4,其中,columnl 存储器储的是数据 1,column2 存储器储的是数据2, CoIumn3存储器储的是数据3, column4存储器储的是数据4,首先将rowl中数据1、数据2、数据3、数据4依次读入到行缓存中,则rowl被腾空,假设行内偏移量为列的颗粒大小,对数据1、数据2、数据3、数据4按照行内偏移量进行偏移,得到新数据为数据
4、数据1、数据2、数据3,将数据4、数据1、数据2、数据3重新写入到rowl中,则在行内偏移后的rowl中,columnl存储器储的是数据4,column2存储器储的是数据l,column3存储器储的是数据2,C0lumn4存储器储的是数据3。通过前述的举例说明可知,本发明实施例中可以实现从column4 — column3 — column2 — columnl的循环,即column4进行行内偏移至columnl, columnl进行行内偏移至column2, column2进行行内偏移至column3, column3进行行内偏移至column4,如此就可以实现rowl内所有列之间的写均衡。
[0206]在本发明的一些实施例中,步骤206对第一存储单元所在行中所有列内存储的数据进行行内偏移之后,请参阅如图2-e所示,为本发明实施例提供的对处理器发送的读写请求进行处理的另一种流程示意图,具体可以包括如下步骤:
[0207]207b、接收处理器发送的读写请求,所述读写请求包括:读请求或写请求;
[0208]208b、对所述读写请求中包含的地址信息进行行内偏移量的计算,得到行内偏移后的地址信息;
[0209]209b、从所述存储器中由所述行内偏移后的地址信息标识的存储单元中读出数据,或,将所述读写请求包括的写请求对应的数据写入所述存储器中由所述行内偏移后的地址信息标识的存储单元中。
[0210]其中,步骤207b至20%描述的是存储器中已经完成行内偏移之后如何从存储器中读写数据,首先执行步骤207b,写均衡的处理装置接收到处理器发送的读写请求,该读写请求具体可以指的是读请求或者写请求,其中,在读写请求中包含地址信息,地址信息可以直接标识需要执行读写处理的存储单元,地址信息也可以通过携带的行与列来标识对哪个存储单元执行读写处理。
[0211]写均衡的处理装置从读写请求中解析出地址信息,然后执行步骤208b,写均衡的处理装置对读写请求中包含的地址信息进行行内偏移量的计算,得到行内偏移后的地址信息,对地址信息进行行内偏移量的计算可以计算出对于读写请求中包含的地址信息应该偏移多少才能读取到正确的数据。
[0212]在本发明的一些实施例中,写均衡的处理装置会记录第一存储单元阵列中每个行内存储的数据进行行内偏移的行内偏移量,写均衡的处理装置可以根据已经记录的行内偏移量对读写请求中包含的地址信息进行行内偏移量的计算,得到行内偏移后的地址信息,可以理解的是,对地址信息进行行内偏移量的计算相当于对读写请求中包含的地址信息进行纠正,由于本发明实施例中已经对第一存储单元阵列中各个行内存储的数据进行了迁移,若按照读写请求包含的地址信息直接从存储器中读取数据,那么可能无法得到正确的数据,所以需要对读写请求包含的地址信息进行纠正,根据前述内容可知,对于第一存储单元阵列,写均衡的处理装置都会进行行内偏移,然后记录下行内偏移量,由于处理器并不知悉写均衡的处理装置进行了行内偏移,处理器会按照数据原来存储的位置或者需要写入数据的原来位置来下发读写请求,在读写请求包含需要读写处理的地址信息,写均衡的处理装置在获取到读写请求中包含的地址信息后,通过记录的行内偏移量对所请求的地址信息进行纠正,得到纠正后的地址信息(也可以称之为行内偏移后的地址信息),则纠正后的地址信息可以被正确访问。
[0213]最后执行步骤20%,若接收到读请求,写均衡的处理装置从存储器中由行内偏移后的地址信息标识的存储单元中读出数据,或,若接收到写请求,写均衡的处理装置将读写请求包括的写请求对应的数据写入存储器中由行内偏移后的地址信息标识的存储单元中。
[0214]需要说明的是,在前述实施例中通过步骤207a至209a描述了以行间偏移量的计算对处理器发送的读写请求进行处理,通过步骤207b至20%描述了以行内偏移量的计算对处理器发送的读写请求进行处理,在本发明的一些实施例中,若对第一存储单元阵列进行了行间偏移以及对第一行进行了行内偏移,则在对处理器发送的读写请求进行处理时,可以对读写请求中包含的地址信息同时进行行间偏移量和行内偏移量的计算,从而得到行内偏移和行间偏移后的地址信息。从所述存储器中由行间偏移和行内偏移后的地址信息标识的存储单元中读出数据,或,将所述读写请求包括的写请求对应的数据写入所述存储器中由行间偏移和行内偏移后的地址信息标识的存储单元中。
[0215]在本发明的一些实施例中,步骤204在对第一存储单元阵列中每个行内存储的数据进行行间偏移时,本发明实施例提供的写均衡的处理方法,还可以包括如下步骤:
[0216]Al、在对第一存储单元阵列中每个行内存储的数据进行行间偏移时,对第一存储单元阵列中正在进行偏移的行进行状态标记,标记为正在进行偏移;
[0217]A2、在对第一存储单元阵列中每个行内存储的数据进行行间偏移时,对第一存储单元阵列中未开始进行偏移的行进行标记,标记为未开始偏移;
[0218]A3、在对第一存储单元阵列中每个行内存储的数据进行行间偏移时,对第一存储单元阵列中已经完成偏移的行进行状态标记,标记为已经完成偏移。
[0219]也就是说,在本发明的一些实施例中,可能还存在一种应用场景,就是在步骤104正在执行的过程中,即在第一存储单元阵列中某个行正在进行行间偏移,已经有一些行完成了行间偏移,也有一些行还未开始行间偏移,在这种应用场景中,处理器也可能会向写均衡的处理装置发起读写请求,为了实现行间偏移过程中不中断处理器发送的读写请求,本发明实施例中还需要执行状态标记,也就是执行前述的步骤Al、A2、A3,则第一存储单元阵列中所有行的状态可以被标记为三种:一种是正在进行偏移、一种是未开始偏移、一种是已经完成偏移,通过状态标记可以准确的记录第一存储单元阵列中每个行的行间偏移状态。
[0220]进一步的,为了能够更便捷的对存储单元阵列中每个行进行状态标记,写均衡的处理装置可以对第一存储单元阵列中各个行按照各个行的顺序位置依次进行偏移,即在进行行间偏移时可以按照存储单元阵列中各个行依次进行偏移,例如可以先对存储单元阵列中第O行进行行间偏移,然后对第I行进行行间偏移,接下来对第2行、第3行顺序进行行间偏移,那么前述步骤A2对第一存储单元阵列中未开始进行偏移的行进行标记,标记为未开始偏移,具体为:在步骤Al对第一存储单元阵列中正在进行偏移的行进行状态标记,标记为正在进行偏移之后,将第一存储单元阵列中标记为正在进行偏移之后的所有行,都标记为未开始偏移。
[0221]步骤A3对第一存储单元阵列中已经完成偏移的行进行状态标记,标记为已经完成偏移,具体为:在步骤A2对第一存储单元阵列中正在进行偏移的行进行状态标记,标记为正在进行偏移之后,将第一存储单元阵列中标记正在进行偏移之前的所有行,都标记为已经完成偏移。
[0222]也就是说,由于第一存储单元阵列中各个行是依照位置顺序依次进行行间偏移,在进行状态标记时,写均衡的处理装置先将第一存储单元阵列中正在偏移的行标记为正在进行偏移,以正在进行偏移的行作为基准,存储单元阵列中在正在偏移的行之后的所有行,都是未开始进行偏移的,可以标记为未开始偏移,第一存储单元阵列中在正在偏移的行之前的所有行,都是已经完成偏移的,可以标记为已经完成偏移。故只需要进行一次标记,就可以完成对存储单元阵列中所有行的状态标记。
[0223]基于前述的步骤Al至A3记载的实施例中,本发明实施例提供的写均衡的处理方法,还可以包括如下步骤:
[0224]B1、在对第一存储单元阵列中每个行内存储的数据进行行间偏移的过程中,接收处理器发送的读写请求,读写请求包括:读请求或写请求,读写请求包含地址信息;
[0225]B2、根据读写请求中包含的地址信息和被标记的状态判断存储器中该地址信息标识的存储单元正在进行偏移或者未开始偏移或者已经完成偏移;
[0226]B3、若存储器中读写请求中包含的地址信息标识的请求行正在进行偏移,从存储器中由上述地址信息标识的存储单元正在使用的行缓存或者冗余行中读出数据,或,将读写请求包括的写请求对应的数据写入存储器中由上述地址信息标识的存储单元正在使用的行缓存或者冗余行中;
[0227]B4、若存储器中读写请求中包含的地址信息标识的请求行未开始偏移,从存储器中由上述地址信息标识的存储单元中读出数据,或,将读写请求包括的写请求对应的数据写入存储器中由上述地址信息标识的存储单元中;
[0228]B5、若存储器中读写请求中包含的地址信息标识的请求行已经完成偏移,根据行间偏移量和行内偏移量对读写请求中包含的地址信息进行偏移量的计算,得到偏移后的地址信息;从存储器中由偏移后的地址信息标识的存储单元中读出数据,或,将读写请求包括的写请求对应的数据写入存储器中由偏移后的地址信息标识的存储单元中。
[0229]也就是说,在本发明的一些实施例中,可能还存在一种应用场景,就是在步骤204正在执行的过程中,即在达到阵列阈值的第一存储单元阵列中某个行正在进行行间偏移,已经有一些行完成了行间偏移,也有一些行还未开始行间偏移,在这种应用场景中,处理器也可能会向写均衡的处理装置发起读写请求,具体的,写均衡的处理装置需要执行前述的步骤B1、B2、B3、B4、B5,首先步骤BI中,步骤204正在执行的过程中,写均衡的处理装置接收到处理器发送的读写请求,写均衡的处理装置首先从读写请求中解析出读写请求中包含的地址信息,然后执行步骤B2,根据前述对存储单元进行的状态标记,判断出由读写请求中包含的地址信息标识的存储单元是正在进行偏移还是未开始偏移还是已经完成偏移,根据具体的状态情况分别触发执行步骤B3、B4、B5。
[0230]其中,步骤B3中,根据前述实施例记载的内容可知,若存储器中读写请求中包含的地址信息标识的请求行正在进行偏移,则写均衡的处理装置确定读写请求中包含的地址信息标识的存储单元正在使用的是行缓存或者冗余行,对于第一存储单元阵列中的第一个正在进行行间偏移的第一行会使用冗余行,对于第一存储单元阵列中的其它正在使用行间偏移的行会使用行缓存。若接收到读请求,写均衡的处理装置从存储器中由读写请求中包含的地址信息标识的存储单元正在使用的行缓存或者冗余行中读出数据,或,若接收到写请求,写均衡的处理装置将读写请求包括的写请求对应的数据写入存储器中由读写请求中包含的地址信息标识的存储单元正在使用的行缓存或者冗余行中。
[0231]对于步骤B4中存储器中读写请求中包含的地址信息标识的请求行未开始偏移,则可以直接从原来的位置读写数据,对于步骤B5中存储器中读写请求中包含的地址信息标识的请求行已经完成偏移,则可以直接从偏移后的位置读写数据。
[0232]通过以上对本发明实施例的描述可知,首先接收处理器发送的写请求,根据写请求中包含的地址信息,将待写入的数据写入到地址信息标识的第一存储单元中,所述第一存储单元为存储器的第一存储单元阵列中的一个存储单元;增加第一存储单元阵列的写入计数;确定所述第一存储单元阵列的写入计数达到预置的阵列阈值时,对所述第一存储单元阵列中每个行内存储的数据进行行间偏移。本发明实施例中由于在存储器中写入数据后,被写入数据的第一存储单元所在的第一存储单元阵列会增加写入计数,确定第一存储单元阵列的写入计数达到预置的阵列阈值时,对第一存储单元阵列中每个行内存储的数据进行行间迁移,故可以实现第一存储单元阵列中行间的写均衡,避免少数存储单元擦写次数过多导致的存储可靠性问题。本发明实施例中在接收到写请求之后,可以直接将待写入的数据按照写请求包含的地址信息写入到第一存储单元,而无需对物理区块的写入次数进行查询后再写数据,故可以消除查询物理区块写入次数时较大的开销。
[0233]实施例三
[0234]本发明写均衡的处理方法的另一个实施例,可应用于对存储器中的写均衡处理中,请参阅图3所示,本发明一个实施例提供的写均衡的处理方法,具体可以包括如下步骤:步骤301至步骤304,其中,
[0235]301、接收处理器发送的写请求。
[0236]在本发明实施例中,处理器中有数据需要写入到存储器中时,处理器向写均衡的处理装置发送写请求,以请求将待写入的数据写入到存储器中,处理器发送的写请求中包含有地址信息,该地址信息标识的存储单元为存储器中的第一存储单元。写均衡的处理装置从处理器接收到写请求,通过处理器在写请求中包含的地址信息确定出待写入的数据需要被写入的存储器地址。
[0237]302、根据写请求中包含的地址信息,将待写入的数据写入到地址信息标识的第一存储单元中。
[0238]其中,上述第一存储单元(英文为cell)为存储器的第一存储单元阵列(英文为bank)中的一个存储单元。
[0239]本发明实施例中,写均衡的处理装置接收
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1