本實(shí)用新型涉及用于數(shù)據(jù)隨機(jī)化的加擾器與解擾器。
背景技術(shù):
諸如NAND閃存的NVM芯片,要求向其寫入的數(shù)據(jù)具有一定的統(tǒng)計(jì)特性。例如,“0”與“1”的個(gè)數(shù)基本相同,避免出現(xiàn)連續(xù)的“0”或者“1”,在一個(gè)物理存儲(chǔ)單元周圍的存儲(chǔ)單元中存儲(chǔ)的“0”與“1”大體上均勻等。為滿足此類要求,向NVM芯片寫入數(shù)據(jù)前,對(duì)數(shù)據(jù)加擾,使得寫入NVM芯片的數(shù)據(jù)隨機(jī)化。圖1為現(xiàn)有技術(shù)的常用的加擾方式的示意圖。如圖1所示,為向NVM芯片的物理頁P(yáng)寫入數(shù)據(jù),將物理頁P(yáng)的物理地址作為種子初始化m序列生成器101。將整頁的數(shù)據(jù)分成同m序列生成器101的大小相對(duì)應(yīng)的小塊,將每個(gè)小塊數(shù)據(jù)同m序列生成器101輸出的值做異或,將異或結(jié)果作為輸出,并寫入物理頁P(yáng)。每對(duì)一個(gè)小塊執(zhí)行了異或操作,m序列生成器101向前推進(jìn),以生成新的值。
在從物理頁P(yáng)讀出數(shù)據(jù)時(shí),采用類似的方式,對(duì)讀出數(shù)據(jù)解擾,以得到原始數(shù)據(jù)。例如,用物理頁P(yáng)的物理地址作為種子初始化m序列生成器,對(duì)讀出數(shù)據(jù)的每個(gè)小塊,同m序列生成器的值做異或,以得到對(duì)應(yīng)的原始數(shù)據(jù)的小塊,并使m序列生成器向前推進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本實(shí)用新型的第一方面,提供了根據(jù)本實(shí)用新型的第一方面的第一數(shù)據(jù)加擾器,包括:第一m序列生成器,第二m序列生成器,映射電路以及異或單元;所述映射電路接收物理頁地址作為輸入;所述第一m序列生成器的第一輸入耦合到所述映射電路的輸出,所述第一m序列生成器還接收第二輸入,以及所述第二輸入用于初始化所述第一m序列生成器;所述第二m序列生成器的輸入耦合到所述第一m序列生成器的輸出,所述第二m序列生成器的輸出耦合到所述異或單元;所述異或單元對(duì)所述第二m序列生成器的輸出與待加擾的數(shù)據(jù)作異或,所述異或單元的輸出是經(jīng)加擾的數(shù)據(jù)。
根據(jù)本實(shí)用新型的第一方面的第一數(shù)據(jù)加擾器,提供了根據(jù)本實(shí)用新型的第一方面的第二數(shù)據(jù)加擾器,其中,物理頁的物理頁索引依照物理頁在物理空間上的排列次序確定。
根據(jù)本實(shí)用新型的第一方面的第一或第二數(shù)據(jù)加擾器,提供了根據(jù)本實(shí)用新型的第一方面的第三數(shù)據(jù)加擾器,其中,所述映射電路包括查找表,所述查找表以物理頁地址作為索引,所述查找表的值是同物理頁地址對(duì)應(yīng)的物理頁索引。
根據(jù)本實(shí)用新型的第一方面的第一至第三數(shù)據(jù)加擾器之一,提供了根據(jù)本實(shí)用新型的第一方面的第四數(shù)據(jù)加擾器,其中,所述映射電路將物理頁地址映射為物理頁索引作為輸出。
根據(jù)本實(shí)用新型的第一方面的第一至第三數(shù)據(jù)加擾器之一,提供了根據(jù)本實(shí)用新型的第一方面的第五數(shù)據(jù)加擾器,其中,所述映射電路將物理頁地址映射為物理頁索引,并將當(dāng)前物理頁索引與前一物理頁索引的差值作為輸出。
根據(jù)本實(shí)用新型的第一方面的第一至第五數(shù)據(jù)加擾器之一,提供了根據(jù)本實(shí)用新型的第一方面的第六數(shù)據(jù)加擾器,所述第二輸入是指定值、物理塊地址或依據(jù)物理塊地址得到的值。
根據(jù)本實(shí)用新型的第一方面的第一至第六數(shù)據(jù)加擾器之一,提供了根據(jù)本實(shí)用新型的第一方面的第七數(shù)據(jù)加擾器,其中,響應(yīng)于收到第一輸入,所述第一m序列生成器依據(jù)第一輸入的值向前推進(jìn)。
根據(jù)本實(shí)用新型的第一方面的第一至第七數(shù)據(jù)加擾器之一,提供了根據(jù)本實(shí)用新型的第一方面的第八數(shù)據(jù)加擾器,其中,所述第二m序列生成器的輸入用于初始化所述第二m序列生成器。
根據(jù)本實(shí)用新型的第一方面的第一至第八數(shù)據(jù)加擾器之一,提供了根據(jù)本實(shí)用新型的第一方面的第九數(shù)據(jù)加擾器,其中,要寫入物理頁的數(shù)據(jù)包括多個(gè)數(shù)據(jù)單元,所述多個(gè)數(shù)據(jù)單元的每個(gè)作為所述待加擾數(shù)據(jù);響應(yīng)于完成對(duì)待加擾數(shù)據(jù)的異或操作,所述第二m序列生成器向前推進(jìn),并將下一個(gè)數(shù)據(jù)單元作為待加擾數(shù)據(jù)。
根據(jù)本實(shí)用新型的第一方面的第一至第九數(shù)據(jù)加擾器之一,提供了根據(jù)本實(shí)用新型的第一方面的第十?dāng)?shù)據(jù)加擾器,其中,所述映射電路還接收數(shù)據(jù)幀序號(hào),并將物理頁地址與數(shù)據(jù)幀序號(hào)的組合映射為數(shù)據(jù)幀索引作為輸出。
根據(jù)本實(shí)用新型的第一方面的第十?dāng)?shù)據(jù)加擾器,提供了根據(jù)本實(shí)用新型的第一方面的第十一數(shù)據(jù)加擾器,其中,所述映射電路將物理頁地址與數(shù)據(jù)幀號(hào)的組合映射為數(shù)據(jù)幀索引,并將當(dāng)前數(shù)據(jù)幀索引與前一數(shù)據(jù)幀索引的差值作為輸出。
根據(jù)本實(shí)用新型的第一方面的第一至第十一數(shù)據(jù)加擾器之一,提供了根據(jù)本實(shí)用新型的第一方面的第十二數(shù)據(jù)加擾器,其中,第一m序列生成器或第二m序列生成器為LFSR生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器。
本實(shí)用新型的數(shù)據(jù)加擾器,對(duì)于不同的物理頁,利用了m序列生成器良好的隨機(jī)性消除了不同物理頁的地址之間的相關(guān)性對(duì)加擾結(jié)果的影響。
根據(jù)本實(shí)用新型的第二方面,提供了本實(shí)用新型的第二方面的第一數(shù)據(jù)解擾器,包括:第一m序列生成器,第二m序列生成器,映射電路以及異或單元;所述映射電路接收物理頁地址作為輸入;所述第一m序列生成器的第一輸入耦合到所述映射電路的輸出,所述第一m序列生成器還接收第二輸入,以及所述第二輸入用于初始化所述第一m序列生成器;所述第二m序列生成器的輸入耦合到所述第一m序列生成器的輸出,所述第二m序列生成器的輸出耦合到所述異或單元;所述異或單元對(duì)所述第二m序列生成器的輸出與待解擾的數(shù)據(jù)作異或,所述異或單元的輸出是解擾后的數(shù)據(jù)。
根據(jù)本實(shí)用新型的第二方面的第一數(shù)據(jù)解擾器,提供了根據(jù)本實(shí)用新型的第二方面的第二數(shù)據(jù)解擾器,其中,物理頁的物理頁索引依照物理頁在物理空間上的排列次序確定。
根據(jù)本實(shí)用新型的第二方面的第一或第二數(shù)據(jù)解擾器,提供了根據(jù)本實(shí)用新型的第二方面的第三數(shù)據(jù)解擾器,其中,所述映射電路包括查找表,所述查找表以物理頁地址作為索引,所述查找表的值是同物理頁地址對(duì)應(yīng)的物理頁索引。
根據(jù)本實(shí)用新型的第二方面的第一至第三數(shù)據(jù)解擾器之一,提供了根據(jù)本實(shí)用新型的第二方面的第四數(shù)據(jù)解擾器,其中,所述映射電路將物理頁地址映射為物理頁索引作為輸出。
根據(jù)本實(shí)用新型的第二方面的第一至第三數(shù)據(jù)解擾器之一,提供了根據(jù)本實(shí)用新型的第二方面的第五數(shù)據(jù)解擾器,其中,所述映射電路將物理頁地址映射為物理頁索引,并將當(dāng)前物理頁索引與前一物理頁索引的差值作為輸出。
根據(jù)本實(shí)用新型的第二方面的第一至第五數(shù)據(jù)解擾器之一,提供了根據(jù)本實(shí)用新型的第二方面的第六數(shù)據(jù)解擾器,其中,所述第二輸入是指定值、物理塊地址或依據(jù)物理塊地址得到的值。
根據(jù)本實(shí)用新型的第二方面的第一至第六數(shù)據(jù)解擾器之一,提供了根據(jù)本實(shí)用新型的第二方面的第七數(shù)據(jù)解擾器,其中,響應(yīng)于收到第一輸入,所述第一m序列生成器依據(jù)第一輸入的值向前推進(jìn)。
根據(jù)本實(shí)用新型的第二方面的第一至第七數(shù)據(jù)解擾器之一,提供了根據(jù)本實(shí)用新型的第二方面的第八數(shù)據(jù)解擾器,其中,所述第二m序列生成器的輸入用于初始化所述第二m序列生成器。
根據(jù)本實(shí)用新型的第二方面的第一至八數(shù)據(jù)解擾器之一,提供了根據(jù)本實(shí)用新型的第二方面的第九數(shù)據(jù)解擾器,其中,要從物理頁讀出的數(shù)據(jù)包括多個(gè)數(shù)據(jù)單元,所述多個(gè)數(shù)據(jù)單元的每個(gè)作為所述待解擾數(shù)據(jù);響應(yīng)于完成對(duì)待解擾數(shù)據(jù)的異或操作,所述第二m序列生成器向前推進(jìn),并將下一個(gè)數(shù)據(jù)單元作為待解擾數(shù)據(jù)。
根據(jù)本實(shí)用新型的第二方面的第一至第九數(shù)據(jù)解擾器之一,提供了根據(jù)本實(shí)用新型的第二方面的第十?dāng)?shù)據(jù)解擾器,其中,所述映射電路還接收數(shù)據(jù)幀序號(hào),并將物理頁地址與數(shù)據(jù)幀序號(hào)的組合映射為數(shù)據(jù)幀索引作為輸出。
根據(jù)本實(shí)用新型的第二方面的第十?dāng)?shù)據(jù)解擾器,提供了根據(jù)本實(shí)用新型的第二方面的第十一數(shù)據(jù)解擾器,其中,所述映射電路將物理頁地址與數(shù)據(jù)幀號(hào)的組合映射為數(shù)據(jù)幀索引,并將當(dāng)前數(shù)據(jù)幀索引與前一數(shù)據(jù)幀索引的差值作為輸出。
根據(jù)本實(shí)用新型的第二方面的第一至第十一數(shù)據(jù)解擾器之一,提供了根據(jù)本實(shí)用新型的第二方面的第十二數(shù)據(jù)解擾器,其中,第一m序列生成器或第二m序列生成器為LFSR生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器。
附圖說明
為了更清楚地說明本實(shí)用新型實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本實(shí)用新型中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)的常用的加擾方式的示意圖;
圖2為本實(shí)用新型實(shí)施例的按照物理頁在物理空間上的排列次序生成物理頁索引的示意圖;
圖3為本實(shí)用新型又一實(shí)施例的按照字線在物理空間上的排布順序生成物理頁索引的示意圖;
圖4為本實(shí)用新型實(shí)施例的對(duì)輸入數(shù)據(jù)加擾的示意圖;
圖5為本實(shí)用新型實(shí)施例的數(shù)據(jù)加擾器的結(jié)構(gòu)的框圖;以及
圖6為本實(shí)用新型實(shí)施例的數(shù)據(jù)解擾器的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面結(jié)合本實(shí)用新型實(shí)施例中的附圖,對(duì)本實(shí)用新型實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本實(shí)用新型一部分實(shí)施例,而不是全部的實(shí)施例。基于本實(shí)用新型中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本實(shí)用新型請(qǐng)求保護(hù)的范圍。
實(shí)施例1
以物理頁P(yáng)為例,向物理頁P(yáng)寫入數(shù)據(jù)時(shí),以物理頁P(yáng)所在物理塊的編號(hào)或物理塊的地址,作為第一隨機(jī)化種子,記為Seed_0。
可選地,依據(jù)物理頁P(yáng)的物理頁地址或物理頁編號(hào),生成物理頁索引,記為Index。用Seed_0初始化m序列生成器,為向物理頁P(yáng)寫入數(shù)據(jù),使經(jīng)初始化的m序列生成器向前推進(jìn),推進(jìn)次數(shù)為Index。得到的m序列生成器的輸出值為第二隨機(jī)化種子,記為Seed_1。
作為舉例,m序列生成器為LFSR(Linear Feedback Shifting Register)生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器中的一種。
可選地,按照物理頁在物理空間上的排列次序生成物理頁索引。圖2為本實(shí)用新型實(shí)施例的按照物理頁在物理空間上的排列次序生成物理頁索引的示意圖。如圖2所示,在NVM芯片的管芯的物理空間上,布置有多條字線。字線包括字線0、字線1、…、字線n,其中n為自然數(shù)。字線包括多個(gè)存儲(chǔ)單元,字線上的物理單元構(gòu)成物理頁。按字線在物理空間上的排布順序生成物理頁索引。例如,在管芯平面的Y軸方向上,按照從上到下的順序,各字線的物理頁索引依次為0、1、…、n,其中n為自然數(shù)。在一個(gè)例子中,每條字線上的多個(gè)存儲(chǔ)單元構(gòu)成物理頁。從而物理頁索引與物理頁地址可以具有相同的值。
在一些情況下,物理頁地址并非按物理空間順序編排。例如,物理地址為0的物理頁可以位于管芯平面Y軸空間的中點(diǎn),而從中點(diǎn)沿Y軸一個(gè)方向物理地址遞增,并在達(dá)到Y(jié)軸空間的端點(diǎn)后,回到中點(diǎn),并沿Y軸另一個(gè)方向使物理地址遞增。在此情況下,在物理頁的物理地址與物理頁索引之間進(jìn)行映射,使得物理頁索引按物理頁在物理空間上到的排列次序生成。例如,在Y軸一個(gè)方向的端點(diǎn)位置的物理頁的物理頁索引為0,從該端點(diǎn)位置向Y軸另一個(gè)方向,物理頁的物理頁索引遞增,直到到達(dá)Y軸的另一個(gè)方向的端點(diǎn)。在Y軸另一個(gè)方向的端點(diǎn)位置的物理頁具有最大值的物理頁索引。。
可選地,圖3為本實(shí)用新型又一實(shí)施例的按照字線在物理空間上的排布順序生成物理頁索引的示意圖。如圖3所示,在NVM芯片的管芯的物理空間上,布置有多條字線,包括字線0、字線1、…、字線n,其中n為自然數(shù)。字線包括多個(gè)存儲(chǔ)單元,字線上的多個(gè)存儲(chǔ)單元構(gòu)成物理頁。按字線在物理空間上的排布順序生成物理頁索引。例如,在3D閃存管芯平面的z軸方向上,按照從上到下的順序,各字線的物理頁索引依次為0、1、…、n,其中n為自然數(shù)。在每條字線中包括多個(gè)字線段。圖3中,字線包括3個(gè)字線段,字線中的字線段數(shù)量也可以為其它數(shù)量,例如2、4、5、6個(gè)。每個(gè)字線段中的存儲(chǔ)單元的數(shù)量等于物理頁的比特?cái)?shù),以及每個(gè)存儲(chǔ)單元中存儲(chǔ)有多個(gè)比特。圖3中,作為舉例,存儲(chǔ)單元的類型是TLC(Triple-Level Cell),即三階存儲(chǔ)單元,每個(gè)存儲(chǔ)單元中存儲(chǔ)3比特信息。從而字線0包括3個(gè)字線段,每個(gè)子線段中存儲(chǔ)3個(gè)物理頁,從而字線0包括9個(gè)物理頁。
在TLC存儲(chǔ)單元構(gòu)成的物理頁中,物理頁地址的編排方式可能是多樣的。例如圖3中TLC存儲(chǔ)單元存儲(chǔ)的3個(gè)比特屬于3個(gè)物理頁,其中兩個(gè)物理頁的地址連續(xù),而另一個(gè)物理頁的地址同前兩個(gè)物理頁的地址不連續(xù)。在圖3中,字線0的第一個(gè)字線段包括3個(gè)物理頁,其物理地址分別為50、51與80,而第二個(gè)字線段包括3個(gè)物理頁,其物理地址分別為52、53與81,第三個(gè)字線段包括3個(gè)物理頁,其物理地址分別為54、55與82。而物理頁索引按照物理頁所在的字線(或字線段)在物理空間上的排列次序生成。屬于同一字線或字線段的多個(gè)物理頁,按TLC存儲(chǔ)單元所存儲(chǔ)的3個(gè)比特的排列順序排列。從而圖3中,以字線0為例,為字線0上的多個(gè)物理頁提供從0到8的物理頁索引。并且,在物理頁地址與物理頁索引之間具有指定的如圖3所示的1對(duì)1映射關(guān)系。
對(duì)于不同廠商或型號(hào)的NVM芯片,依據(jù)其物理頁在字線上的排布方式,確定物理頁地址與物理頁索引的映射關(guān)系。以及,在物理頁地址與物理頁索引之間可提供多種映射關(guān)系,以滿足物理頁索引按物理頁所在的字線(或字線段)在物理空間上的排列次序生成。
在依然另一個(gè)例子中,物理頁內(nèi)包括多個(gè)數(shù)據(jù)幀。還為物理頁內(nèi)的各個(gè)數(shù)據(jù)幀生成數(shù)據(jù)幀索引。數(shù)據(jù)幀索引是物理頁索引與數(shù)據(jù)幀在物理頁中的序號(hào)的組合。
圖4為本實(shí)用新型實(shí)施例的對(duì)輸入數(shù)據(jù)加擾的示意圖。如圖4所示,向物理頁P(yáng)寫入數(shù)據(jù),向物理頁P(yáng)寫入數(shù)據(jù)的尺寸為16KB。對(duì)于物理頁P(yáng),基于物理頁P(yáng)的物理頁索引生成第二隨機(jī)化種子Seed_1。作為舉例,Seed_1為32比特。此處的m序列生成器可以是例如LFSR。用第二隨機(jī)數(shù)種子Seed_1初始化m序列生成器401。對(duì)16KB的待寫入的數(shù)據(jù)加擾,每次加擾32比特?cái)?shù)據(jù),即輸入數(shù)據(jù)為32比特?cái)?shù)據(jù)。將輸入數(shù)據(jù)同第二m序列生成器401的值做異或,異或結(jié)果作為輸出數(shù)據(jù),并寫入NVM芯片。每完成1次對(duì)輸入數(shù)據(jù)的加擾,使第二m序列生成器401向前推進(jìn)。并使第二m序列生成器401的下次輸出的值同接下來的32比特?cái)?shù)據(jù)求異或,并得到下一輸出數(shù)據(jù),直至完成對(duì)16KB數(shù)據(jù)的加擾。
可以理解的,輸入數(shù)據(jù)可以有不同的尺寸,既可以是完整物理頁,也可以是部分物理頁。每次加擾的數(shù)據(jù)可以有不同的尺寸,第二m序列生成器401可以有不同的尺寸。第二m序列生成器401可以是LFSR(Linear Feedback Shifting Register)生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器中的一種。
實(shí)施例2
圖5為本實(shí)用新型實(shí)施例的數(shù)據(jù)加擾器的結(jié)構(gòu)的框圖。如圖5所示,數(shù)據(jù)加擾器包括:映射電路501、第一m序列生成器502、第二m序列生成器503和異或單元504。映射電路501接收物理頁地址作為輸入,生成物理頁索引。第一m序列生成器502接收第一隨機(jī)化種子作為輸入。第一m序列生成器502還接收映射電路501提供的物理頁索引。第一m序列生成器502向前推進(jìn),并產(chǎn)生輸出,推進(jìn)的次數(shù)為物理頁索引,而第一m序列生成器502的輸出作為第二隨機(jī)化種子。第二m序列生成器503的輸入耦合到第一m序列生成器502的輸出。用第二隨機(jī)化種子初始化第二m序列生成器503。第二m序列生成器的輸出耦合到異或單元。異或單元504將待寫入數(shù)據(jù)的部分與第二m序列生成器503的輸出進(jìn)行異或,得到加擾后的數(shù)據(jù)。響應(yīng)于完成異或操作,第二m序列生成器503向前推進(jìn),以及異或單元504將待寫入數(shù)據(jù)的下一部分與第二m序列生成器503的輸出進(jìn)行異或。
可選地,映射電路501還接收數(shù)據(jù)幀序號(hào)。映射電路501將物理頁地址與數(shù)據(jù)幀序號(hào)的組合映射為數(shù)據(jù)幀索引作為數(shù)據(jù)。數(shù)據(jù)幀索引,作為舉例,是物理頁索引與數(shù)據(jù)幀在物理頁中的序號(hào)的組合。
在另一個(gè)例子中,映射電路501將先后兩次映射結(jié)果的差作為輸出。兩個(gè)映射結(jié)果可以都是物理頁索引,或都是數(shù)據(jù)幀索引。以及第一m序列生成器502向前推進(jìn)的次數(shù)為映射電路501輸出的值。
為向物理頁寫入數(shù)據(jù),映射電路501依據(jù)物理頁的物理地址生成物理頁索引。以物理頁P(yáng)為例,向物理頁P(yáng)寫入數(shù)據(jù),依據(jù)物理頁P(yáng)的物理頁地址生成物理頁索引。依據(jù)物理頁P(yáng)所在的物理塊地址生成第一隨機(jī)化種子。例如,第一隨機(jī)化種子為物理塊地址加1。使用第一隨機(jī)化種子初始化第一m序列生成器502,在對(duì)寫入物理頁P(yáng)的數(shù)據(jù)加擾時(shí),依據(jù)物理頁P(yáng)的物理頁索引使第一m序列生成器502推進(jìn),推進(jìn)的次數(shù)為物理頁索引的值。第一m序列生成器502輸出的值為第二隨機(jī)化種子。第一m序列生成器502為每個(gè)物理頁提供一個(gè)第二隨機(jī)化種子。
使用第二隨機(jī)化種子初始化第二m序列生成器503,將要寫入物理頁P(yáng)的數(shù)據(jù)的小塊同第二m序列生成器503輸出的值做異或,生成加擾后的輸出數(shù)據(jù),每次對(duì)一個(gè)小塊做異或后,使第二m序列生成器503向前推進(jìn)。
可選地,第一m序列生成器502或第二m序列生成器503可以是LFSR生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器中的一種。
具體地,向同一物理塊的多個(gè)物理頁寫入數(shù)據(jù)時(shí),例如物理頁P(yáng)1、P2時(shí),第一隨機(jī)化種子相同。為物理頁P(yáng)1生成的物理頁索引記為Index_1,為物理頁P(yáng)2生成的物理頁索引記為Index_2。依據(jù)Index_2與Index_1的差(記為d),在由Index_1生成物理頁P(yáng)1的第二隨機(jī)化種子Seed_1_1后,使第一m序列生成器向前推進(jìn)d次,得到物理頁P(yáng)2的第二隨機(jī)化種子Seed_1_2,用于為加擾用于物理頁P(yáng)2的數(shù)據(jù)而初始化第二m序列生成器502。
可選地,在對(duì)物理頁P(yáng)1的數(shù)據(jù)完成加擾后,用第一隨機(jī)化種子重新初始化第一m序列生成器502,并將第一m序列生成器502向前推進(jìn)Index_2次,此時(shí)第一m序列生成器502的輸出為第二隨機(jī)化種子Seed_1_2。
然后,使用物理頁P(yáng)2的第二隨機(jī)化種子Seed_1_2初始化第二m序列生成器503,將要寫入物理頁P(yáng)2的數(shù)據(jù)的小塊同第二m序列生成器503輸出的值做異或,生成加擾后的輸出數(shù)據(jù),每次對(duì)一個(gè)小塊做異或后,使第二m序列生成器503向前推進(jìn),直至完成對(duì)物理頁P(yáng)2的數(shù)據(jù)的寫入。
實(shí)施例3
圖6為本實(shí)用新型實(shí)施例的數(shù)據(jù)解擾器的結(jié)構(gòu)框圖。如圖6所示,數(shù)據(jù)解擾器包括:映射電路601、第一m序列生成器602、第二m序列生成器603和異或單元604。映射電路601接收物理頁地址作為輸入,生成物理頁索引。第一m序列生成器602接收第一隨機(jī)化種子作為輸入。第一m序列生成器602還接收映射電路601的輸出。第一m序列生成器602向前推進(jìn),并產(chǎn)生輸出,推進(jìn)的次數(shù)為映射電路601的輸出所指示的值,而將第一m序列生成器602的輸出作為第二隨機(jī)化種子。用第二隨機(jī)化種子初始化第二m序列生成器603。第二m序列生成器的輸出耦合到異或單元604。異或單元604將讀出數(shù)據(jù)與第二m序列生成器603的輸出進(jìn)行異或,得到解擾后的數(shù)據(jù)。響應(yīng)于完成異或操作,第二m序列生成器603向前推進(jìn),以及異或單元604將讀出數(shù)據(jù)的下一部分與第二m序列生成器603的輸出進(jìn)行異或。
可選地,映射電路601還接收數(shù)據(jù)幀序號(hào)。映射電路601將物理頁地址與數(shù)據(jù)幀序號(hào)的組合映射為數(shù)據(jù)幀索引作為數(shù)據(jù)。數(shù)據(jù)幀索引,作為舉例,是物理頁索引與數(shù)據(jù)幀在物理頁中的序號(hào)的組合。
在另一個(gè)例子中,映射電路601將先后兩次映射結(jié)果的差作為輸出。兩個(gè)映射結(jié)果可以都是物理頁索引,或都是數(shù)據(jù)幀索引。以及第一m序列生成器602向前推進(jìn)的次數(shù)為映射電路601輸出的值。
如圖6所示,從物理頁讀取數(shù)據(jù),以物理頁P(yáng)為例,為從物理頁P(yáng)讀取數(shù)據(jù),映射電路601依據(jù)物理頁P(yáng)的物理地址生成物理頁索引。用物理頁P(yáng)所在的物理塊地址作為第一隨機(jī)化種子(Seed_0,例如Seed_0=物理塊地址+1)初始化第一m序列生成器602。依據(jù)物理頁P(yáng)的物理頁索引使第一m序列生成器602推進(jìn),推進(jìn)的次數(shù)為物理頁索引的值,得到的第一m序列生成器602輸出的值作為第二隨機(jī)化種子Seed_1??梢岳斫獾?,所使用的第一隨機(jī)化種子Seed_0應(yīng)當(dāng)按同向物理頁P(yáng)寫入數(shù)據(jù)時(shí)相同的過程生成。例如,若向物理頁P(yáng)寫入數(shù)據(jù)時(shí),用物理頁P(yáng)的塊地址+1作為第一隨機(jī)化種子,那么在從物理頁讀出數(shù)據(jù)時(shí),也使用物理頁P(yáng)的塊地址+1作為第一隨機(jī)化種子。
用Seed_1初始化第二m序列生成器602603,將從物理頁P(yáng)的讀出數(shù)據(jù)的小塊(例如,具有同第二m序列生成器602603相同的大小)同第二m序列生成器602603輸出的值做異或,生成解擾后的輸出數(shù)據(jù),每次對(duì)一個(gè)小塊做異或后,使第二m序列生成器602603推進(jìn),直至完成對(duì)數(shù)據(jù)的讀取。
作為舉例,在根據(jù)本實(shí)用新型的實(shí)施例中,用于m序列生成器的32階本原多項(xiàng)式為0x100400007。
本實(shí)用新型中的數(shù)據(jù)加擾器、數(shù)據(jù)解擾器,在對(duì)不同的物理頁中的數(shù)據(jù)進(jìn)行寫入或讀取時(shí),使用不同的種子進(jìn)行加擾和解擾。由于不同物理頁的地址之間具有相關(guān)性,用物理頁地址選擇m序列不同周期的值,作為用于該物理頁的隨機(jī)化種子。利用m序列本身良好的隨機(jī)性來消除了不同物理頁的地址之間的相關(guān)性對(duì)加擾結(jié)果或解擾結(jié)果的影響。
盡管已描述了本實(shí)用新型的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本實(shí)用新型范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本實(shí)用新型進(jìn)行各種改動(dòng)和變型而不脫離本實(shí)用新型的精神和范圍。這樣,倘若本實(shí)用新型的這些修改和變型屬于本實(shí)用新型權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本實(shí)用新型也意圖包含這些改動(dòng)和變型在內(nèi)。