固态硬盘的写入方法_2

文档序号:8922523阅读:来源:国知局
数据LAA (2,3,4,5,6,7,8,9),避免读取数据受先进先出管道23的卡阻,而可提高读取速度。
[0034]如图4所示,为本发明重新排序写入数据暂存的缓冲地址的过程。为了达到让写入数据依其逻辑分配地址在相邻的非易失性存储单元中顺序排列的目标。本发明固态硬盘的m个非易失性存储单元,针对接收主机的写入数据的逻辑分配地址LAA(η),在缓冲存储器22中规划写入单元。写入单元具有m个缓冲地址(Plane Address,简称PA),即PA (O),PA⑴,PA⑵,…,PA (m-2),PA (m-1),一对一对应m个非易失性存储单元。让暂存在每一缓冲地址PA(O)至PA(m-l)的写入数据,仅有相对应的非易失性存储单元O至m-1。接着将写入数据的逻辑分配地址LAA (η)的地址序数η除以缓冲地址数目m,由其余数k,取得写入单元的缓冲地址PA(k)。然后将原应依序暂存的写入数据LAA(η),如箭头所示移位暂存在缓冲地址PA(k),以重新排序写入数据在缓冲存储器22的写入单元的缓冲地址。
[0035]经由本发明重新排序写入数据暂存的缓冲地址。由于每一写入数据的逻辑分配地址,都依据相对写入单元的m个缓冲地址的余数依序就位,因此写入数据均能依其逻辑分配地址LAA(η)的大小,顺序排列暂存在写入单元的缓冲地址。当写入单元写入一对一对应的非易失性存储单元,也能在相邻的非易失性存储单元中,维持写入数据依其逻辑分配地址LAA (η)的大小顺序相同排列。
[0036]然而,使用者在同一工作时段,写入的数据并非全然为相同性质的工作内容,也可能属于相近性质的工作内容,因此写入数据的逻辑分配地址较为分散。更有可能在同一写入单元中,出现几个重新排序后相同缓冲地址的写入数据,以致后处理的写入数据的重新排序缓冲地址已被先处理的写入数据占据,形成非空白的缓冲地址,造成后处理的写入数据,无法依其逻辑分配地址LAA(η)的大小暂存。
[0037]如图5所示,为本发明偏移写入数据暂存的缓冲地址的过程。针对前述缓冲地址被先处理的写入数据占据的状态,本发明为了达到尽可能依逻辑分配地址的大小连续排列的状态,对写入数据的逻辑分配地址LAA (η),在重新排序取得写入单元的缓冲地址PA(k)后,先检查缓冲地址PA (k)是否空白,假如为空白,就将写入数据LAA (η)直接暂存至缓冲地址PA (k),否则检查缓冲地址PA (k)已有现有的写入数据逻辑分配地址LAA (η’)占据而为非空白时,利用偏移手段,偏移下一缓冲地址重新排序写入数据的缓冲地址,将写入数据的逻辑分配地址LAA (η)的地址序数η加I除以缓冲地址数目m的余数k+Ι,取得写入单元的缓冲地址PA (k+Ι),再检查重新排序缓冲地址的空白状态,不然继续偏移下一缓冲地址,在写入单元依序循环偏移,直到检查重新排序的缓冲地址出现空白,再将写入数据LAA(η)暂存至空白的缓冲地址。
[0038]如图6所示,为本发明固态硬盘写入方法的重新排序的流程。本发明固态硬盘对写入数据重新排序写入方法的详细步骤说明如下:在步骤Si,首先本发明固态硬盘在缓冲存储器中规划写入单元,写入单元的缓冲地址一对一对应非易失性存储单元;步骤S2,接收具有逻辑分配地址的写入数据;在步骤S3,利用写入数据逻辑分配地址的地址序数除以缓冲地址数目,由其余数,取得在写入单元重新排序的缓冲地址。接着在步骤S4,检查重新排序的缓冲地址是否为空白?假如重新排序的缓冲地址不是空白,则进入步骤S5,利用偏移手段,偏移下一缓冲地址,将地址序数加1,再回到步骤S3继续重新排序缓冲地址,假如重新排序的缓冲地址是空白,进入步骤S6直接将写入数据暂存至该缓冲地址。然后至步骤S7,等待指令,进行处理下一写入数据或其他作业。
[0039]藉由前述流程,本发明就可利用余数重新排序,让写入数据依逻辑分配地址大小的排列,而对被占重新排序缓冲地址的写入数据,利用偏移手段,偏移下一缓冲地址重新排序,写入数据的逻辑分配地址在写入单元中,虽然无法维持依逻辑分配地址大小的理想排列,但基本上写入数据的逻辑分配地址仍能依其逻辑分配地址LAA(η)的大小,大致排列在写入单元的缓冲地址,写入单元写入非易失性存储单元,也可达到在相邻的非易失性存储单元中维持依逻辑分配地址大小大致顺序排列的目的。
[0040]请同时参考图7及图8所示,图7为本发明固态硬盘第一阶段写入数据的实施例,图8为本发明固态硬盘第二阶段写入数据的实施例。举一具体实施例说明本发明固态硬盘写入数据的过程。图7中,本发明的固态硬盘在第一阶段,先在缓冲存储器22中规划写入单元1,写入单元I具有一对一对应非易失性存储单元0-7的8个缓冲地址PA(O) ,PA(I)1PA⑵,PA (3),PA (4),PA (5),PA (6),PA (7)。假设相同现有技术,接收主机发送的写入数据LAA(0,8, 2,3,4, 5,6, 7,1,9, 10,11,12,13,14,15)。对于首先接收的写入数据 LAA (O),将写入数据的逻辑分配地址LAA (O)的地址序数O除以缓冲地址数目8,由其余数0,取得重新排序在写入单元I的缓冲地址PA(O)。检查缓冲地址PA(O)为空白,如实线箭头直接将写入数据LAA(O)暂存至写入单元I的缓冲地址PA(O)。然后检查写入单元I的缓冲地址未填满,继续接收写入数据。
[0041 ] 接着对接收的写入数据LAA (8),将写入数据的逻辑分配地址LAA (8)的地址序数8除以缓冲地址数目8,由其余数0,取得重新排序在写入单元I的缓冲地址PA (O)。因缓冲地址PA (O)已被写入数据LAA(O)暂存,检查缓冲地址PA (O)为非空白,利用偏移手段,将地址序数8加I除以缓冲地址数目8,由其余数1,重新排序取得缓冲地址PA(I),再检查缓冲地址PA(I)为空白,将原应如虚线箭头暂存,改为如实线箭头将写入数据LAA(S)暂存至写入单元I的缓冲地址PA(1)。再检查写入单元I的缓冲地址未填满,继续接收写入数据。
[0042]对后续依序接收的写入数据LAA (2,3,4,5,6,7),取得重新排序在写入单元I的缓冲地址PA (2),PA (3),PA (4),PA (5),PA (6),PA (7),因检查缓冲地址均为空白,可如写入数据LAA(O),依各实线箭头直接将写入数据LAA (2,3,4,5,6,7),一一暂存至写入单元I的缓冲地址PA (2),PA (3),PA (4),PA (5),PA (6),PA (7),并——检查写入单元I的缓冲地址是否已填满,直到重新排序及暂存写入数据LAA(7)后,检查写入单元I的缓冲地址一旦填满,就同时经由先进先出管道23将暂存在写入单元I缓冲地址PA (O)的写入数据LAA(O)写入固态硬盘的非易失性存储单元0,缓冲地址PA (I)的写入数据LAA(S)写入固态硬盘的非易失性存储单元I,缓冲地址PA (2)的写入数据LAA (2)写入固态硬盘的非易失性存储单元2,缓冲地址PA(3)的写入数据LAA(3)写入固态硬盘的非易失性存储单元3,缓冲地址PA(4)的写入数据LAA (4)写入固态硬盘的非易失性存储单元4,缓冲地址PA (5)的写入数据LAA (5)写入固态硬盘的非易失性存储单元5,缓冲地址PA (6)的写入数据LAA (6)写入固态硬盘的非易失性存储单元6,缓冲地址PA (7)的写入数据LAA (7)写入固态硬盘的非易失性存储单元7,并将写入单元I清空备用,以完成第I阶段的数据写入。
[0043]接着进行本发明固态硬盘的第二阶段写入数据,图8中,先在缓冲存储器
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1