《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于NAND Flash的轉(zhuǎn)譯層的設(shè)計
基于NAND Flash的轉(zhuǎn)譯層的設(shè)計
來源:微型機與應(yīng)用2010年第24期
侯 超,徐建城
(西北工業(yè)大學(xué),陜西 西安710129)
摘要: 基于NAND Flash的嵌入式存儲系統(tǒng)以其輕巧便攜、讀寫速度快等特點成為當(dāng)前嵌入式存儲系統(tǒng)的主流配置。但由于固有壞塊以及在擦、寫過程中隨機產(chǎn)生的壞塊影響了NAND Flash的實際應(yīng)用,所設(shè)計的NAND Flash的驅(qū)動轉(zhuǎn)譯層具有壞塊管理機制并實現(xiàn)上層文件系統(tǒng)的連續(xù)讀寫功能。
關(guān)鍵詞: SOC NFTL 地址映射 壞塊管理
Abstract:
Key words :

摘  要: 基于NAND Flash的嵌入式存儲系統(tǒng)以其輕巧便攜、讀寫速度快等特點成為當(dāng)前嵌入式存儲系統(tǒng)的主流配置。但由于固有壞塊以及在擦、寫過程中隨機產(chǎn)生的壞塊影響了NAND Flash的實際應(yīng)用,所設(shè)計的NAND Flash的驅(qū)動轉(zhuǎn)譯層具有壞塊管理機制并實現(xiàn)上層文件系統(tǒng)的連續(xù)讀寫功能。
關(guān)鍵詞: NFTL地址映射;壞塊管理

    目前市場上閃存芯片主要有兩類,即NAND Flash(Not And Flash ROM)和NOR Flash(Not Or Flash ROM)。前者具有容量大、讀寫速度快、芯片面積小、單元密度高、擦除速度快、成本低等特點,更適合于大批量數(shù)據(jù)存儲的嵌入式系統(tǒng)。如今Windows仍是桌面系統(tǒng)的主流,對FAT文件系統(tǒng)提供了天然的支持。然而就技術(shù)而言,F(xiàn)AT文件系統(tǒng)并不適合Flash,因為Flash設(shè)備并不是塊設(shè)備[1],為了不破壞兼容性,并在NAND型閃存中應(yīng)用FAT文件系統(tǒng),國際上提出了閃存轉(zhuǎn)譯層FTL(Flash Translation Layer)的解決方案。
1 NAND Flash嵌入式存儲系統(tǒng)結(jié)構(gòu)
    基于NAND Flash的存儲系統(tǒng)的設(shè)計首先要解決壞塊問題。由于NAND Flash自身存在固有壞塊并在擦除和編程中又隨機產(chǎn)生壞塊,因此為了提高設(shè)備的可靠性應(yīng)該將這兩種操作分散在閃存不同的塊中,以避免對某塊的過度操作。
    一般的基于NAND Flash嵌入式存儲系統(tǒng)驅(qū)動結(jié)構(gòu)分為三個層次:最底層是硬件操作接口,負(fù)責(zé)將主控芯片與Flash的控制管腳相連,這方面的固件主要實現(xiàn)對NAND Flash的物理操作;中間層是閃存轉(zhuǎn)譯層NFTL(NAND FTL),是封裝在Flash驅(qū)動中的軟件模塊,其作用是將Flash模擬成與磁盤相類似的塊設(shè)備,使對上層操作系統(tǒng)而言,NAND Flash就像普通磁盤一樣被訪問。這一層主要是封裝一些特殊的復(fù)雜管理控制功能;最上面的層就是文件管理層,功能類似于普通磁盤上的通用文件系統(tǒng),向上層提供標(biāo)準(zhǔn)的文件操作接口。基于NAND Flash的嵌入式系統(tǒng)存儲結(jié)構(gòu)原理圖如圖1所示。

    根據(jù)以上兩個方面,既要在驅(qū)動中實現(xiàn)壞塊管理,又要進(jìn)行塊模擬,所以可用的方法有兩種[2]:一是在上層文件系統(tǒng)中解決壞塊問題,驅(qū)動層只實現(xiàn)本身的功能,文件系統(tǒng)為驅(qū)動層提供不變的接口,為上層應(yīng)用程序提供可靠透明的服務(wù)。這種方法較簡單,開發(fā)周期比較短,但只對特定應(yīng)用的嵌入式系統(tǒng)有很強的適應(yīng)性;第二種方法是在驅(qū)動層的NFTL中解決壞塊問題,將不可靠的NAND Flash虛擬成可靠的存儲設(shè)備,為上層文件系統(tǒng)提供可靠透明服務(wù),這種方法較第一種更復(fù)雜,但是此法具有較強的可移植性并能徹底斷絕與文件系統(tǒng)的聯(lián)系,其他文件系統(tǒng)也同樣適用。
    本文是以Samsung的NAND Flash K9F2808U0C作為存儲芯片,設(shè)計了一種在NFTL上實現(xiàn)壞塊管理并且實現(xiàn)連續(xù)數(shù)據(jù)讀取的方法。
2 設(shè)計思想
2.1 閃存空間劃分

    K9F2808U0C是16 MB×8 bit的NAND Flash,共有1 024個Block,1 Block=16 KB,32 Page/Block,1 Page=528 B=(512 B+16 B),其中16 B為備用區(qū),主要存放NAND Flash出廠壞塊標(biāo)記、ECC校驗碼以及用戶自定義區(qū)。K9F2808U0C地址空間是24 bit,分三個周期依次送入NAND Flash的地址鎖存器。本文使用的地址均為字節(jié)地址,數(shù)據(jù)類型為DWORD(4 B)。
    將K9F2808U0C的存儲空間劃分為四個區(qū):壞塊映射表存放區(qū)、交換塊區(qū)、壞塊映射區(qū)和實際數(shù)據(jù)存放區(qū)。文件系統(tǒng)管理的空間就是實際的數(shù)據(jù)存放空間,如圖2所示。

2.2 各分區(qū)宏定義
    #define FLASH_BLOCK_SIZE   0x40000    //16 KB/Block
    #define FLASH_PAGE_SIZE   0x200        //512 B/Page
    #define FLASH_SECTOR_SIZE  0x200
//1Page=1Sector(only K9F2808U0C)
    #define FLASH_BLOCKS_TABLE  3//壞塊映射表存放塊數(shù)
    #define FLASH_SWAP_BLOCKS   5    //交換區(qū)的塊數(shù)
    #define FLASH_BAD_BLOCKS_REMAP   50
//壞簇重映區(qū)的塊數(shù)
    #define FLASH_MAX_ADDR  0xFFFFFF
//Flash最大字節(jié)地址
    各分區(qū)首地址計算公式:
    FLASH_BLOCK_TABLE_ADDR=FLASH_MAX_ADDR+
1-3*FLASH_BLOCK_SIZE);
    FLASH_SWAP_BLOCK_ADDR=(FLASH_BLOCK_
TABLE_ADDR-5*FLASH_BLOCK_SIZE);
    FLASH_BAD_BLOCK_REMAP_ADDR=(FLASH_SWAP_
BLOCK_ADDR-50*FLASH_BLOCK_SIZE);
    FLASH_MAX_SECTOR_ADDR=(FLASH_MAX_ADDR-
3*FLASH_BLOCK_TABLE_ADDR-5*FLASH_SWAP_
BLOCK_ADDR-50*FLASH_BAD_BLOCK_REMAP_ADDR);
文件系統(tǒng)管理的最大字節(jié)地址。
    任意地址Addr:
    所在塊地址:Addr&(~(FLASH_BLOCK_SIZE-1));
    塊內(nèi)偏移地址:Addr&(FLASH_BLOCK_SIZE-1);
    塊中的頁:(Addr&(FLASH_BLOCK_SIZE-1))/FLASH_
PAGE_SIZE;
2.3 分區(qū)功能設(shè)計
    壞塊映射區(qū)存放復(fù)制3份的壞塊信息BBI(Bad Block Information)表。復(fù)制3份是預(yù)防系統(tǒng)突然斷電,造成BBI表數(shù)據(jù)丟失。選擇最后3個塊,主要是出于固件設(shè)計。當(dāng)Flash首次上電,固件程序通過讀取Flash ID,獲得設(shè)備的容量等信息,然后從Flash的最后一塊中尋找BBI表,如果最后一塊沒有發(fā)現(xiàn)BBI表,則認(rèn)為此塊為壞塊,繼續(xù)前移尋找,依此類推,直到在預(yù)留的3個塊中找到,并將其數(shù)據(jù)讀入到在主控芯片為其開設(shè)的RAM中。如果還找不到,則固件認(rèn)為該片F(xiàn)lash沒有BBI表。
    交換塊區(qū)是對NAND Flash進(jìn)行擦除或?qū)懖僮鲿r用來臨時存放數(shù)據(jù),共分配5個塊。選取5塊是出于可靠性設(shè)計。用一個數(shù)組FlashSwapBlockStatus[FLASH_SWAP_BLOCKS]記錄交換塊狀態(tài):有效還是已經(jīng)損壞。初始化時,固件認(rèn)為所有的交換塊都是有效塊,在隨后對其進(jìn)行擦除或?qū)懖僮鲿r,通過讀Flash狀態(tài)寄存器判斷該交換塊的真實狀態(tài),并記錄在數(shù)組中。交換塊的管理圍繞固件請求返回當(dāng)前可用交換塊地址或當(dāng)前正在使用的交換塊地址,并判斷標(biāo)記當(dāng)前使用的交換塊狀態(tài)為壞。
    壞塊映射區(qū)是當(dāng)主機向數(shù)據(jù)區(qū)寫數(shù)據(jù)時,檢測到當(dāng)前塊(數(shù)據(jù)區(qū))為壞塊時,將數(shù)據(jù)寫到壞塊映射區(qū)中的相應(yīng)好塊中,并且將這兩個塊的塊地址記錄到BBI表中,以后主機若要對當(dāng)前塊(數(shù)據(jù)區(qū))訪問時,只需讀BBI表就可以找到相應(yīng)映射塊,從而代替壞塊的訪問。這樣就使文件系統(tǒng)所見邏輯塊地址LBA(Logical Block Address)變成連續(xù)的,但實際上物理塊地址PBA(Physical Block Address)可能并不連續(xù)。上述方法就是壞塊管理的精髓。出于保守設(shè)計本文共選50塊作為重映塊。用數(shù)組FlashRemapBlockStatus[FLASH_BAD_BLOCKS_REMAP]標(biāo)識壞塊映射區(qū)的狀態(tài):未使用、已使用還是已經(jīng)損壞。初始化時認(rèn)為壞塊映射區(qū)中所有塊都是好塊。
3 NFTL壞塊管理設(shè)計
3.1 構(gòu)建BBI表

    用一數(shù)組FlashBadBlockTable[2][FLASH_BAD_BLOCKS_REMAP]存放BBI表。第一維為壞塊(數(shù)據(jù)區(qū))的塊地址,第二維為映射塊地址(重映塊)。
    BBI表的構(gòu)建可在Flash首次上電時,通過讀取廠商設(shè)置在Flash備用區(qū)中的壞塊標(biāo)記識別壞塊,建立壞塊映射表,此法初始化時間與Flash的容量成正比;或通過讀NAND Flash所有塊內(nèi)容并和0xFF作比較[3],如果不相同,則表示壞塊。這種方法只針對新閃存,并且構(gòu)建BBI表的時間長,主控芯片的占用率高;另一種方法是在Flash初次上電時先不建立壞塊表,認(rèn)為當(dāng)前所有的塊都是好塊,在隨后操作中發(fā)現(xiàn)壞塊,并更新BBI表。本文選擇后一種方法。
3.2 壞塊映射表區(qū)的設(shè)計
    將BBI表通過特殊的方式保存,以后通過此種方式的逆向來識別BBI表。壞塊映射表區(qū)的3個塊的設(shè)計方法如下:
    (1)在每塊最后一頁的首字節(jié)處做特殊標(biāo)記,用于標(biāo)識該塊有沒有準(zhǔn)備被擦除:0xFF表示沒有準(zhǔn)備被擦除;0x00表示該塊已經(jīng)準(zhǔn)備被擦除[4]。
    (2)在每塊的倒數(shù)第二頁的首字節(jié)處寫0x00,表示該塊存放BBI表數(shù)據(jù);并在第2、3、4、5個字節(jié)處以大端模式存放校驗和,用于校驗該塊中存放的所有數(shù)據(jù)的正確性。該頁的剩余字節(jié)寫0xFF。
    (3)在第一頁起依次寫:表頭特殊標(biāo)記(0x0055AAFF)、壞塊總數(shù)(FlashBadBlockCount)、BBI表(FlashBadBlockTable)、重映塊狀態(tài)(FlashRemapBlockStatus),其結(jié)構(gòu)如圖3所示。

3.3 邏輯地址映射
    在與主機批量數(shù)據(jù)傳輸時,首先對主機發(fā)送的CBW命令解析,從而固件獲得主機請求數(shù)據(jù)傳輸?shù)腖BA,再對LBA地址映射以此獲得相應(yīng)的PBA,然后再執(zhí)行主機命令。具體方法:首先讀取當(dāng)前總的壞塊數(shù)FlashBadBlocksCount,如果為0,表示無壞塊,LBA就不用映射,直接返回;如果最后一次訪問地址與LBA同屬于一個塊,那么也不用地址映射;如果當(dāng)前壞塊的數(shù)量為1,判斷LBA塊地址與BBI表中壞塊地址是否相同,從而決定是否采取地址映射;如果當(dāng)前壞塊的數(shù)量不為1,就需要查找BBI表判斷是不是含有LBA的塊地址,如果存在,則要地址重新映射,如果不存在,就不用重新映射。可以采用二分法查表實現(xiàn)兩地址快速比較[4]。
3.4 壞塊處理
    對映射后的地址進(jìn)行寫或擦除過程中發(fā)現(xiàn)當(dāng)前塊變壞的處理方法:首先查找映射區(qū)中的塊狀態(tài)FlashRemapBlockStatus[FLASH_BAD_BLOCKS_REMAP],尋找可用的映射塊。如果50個重映塊都被標(biāo)記為壞或已使用,則程序進(jìn)入死循環(huán);如果找到可用的映射塊,則固件對可能出現(xiàn)壞塊的三種情況進(jìn)行散轉(zhuǎn):(1)擦除當(dāng)前塊時出錯:將當(dāng)前塊地址與可用的重映塊地址寫入BBI表中,按地址大小排列有利于二分法查表,并返回重映塊地址。(2)復(fù)制某頁從交換區(qū)到操作地址時失敗:首先獲得當(dāng)前使用的交換塊的塊地址,然后判斷操作地址是在數(shù)據(jù)存儲區(qū)還是在重映區(qū)。如果在重映區(qū),說明當(dāng)前操作地址所對應(yīng)的在數(shù)據(jù)存儲區(qū)中的塊已經(jīng)是壞塊,并且在這次操作中重映塊也變壞,此時就應(yīng)該標(biāo)記當(dāng)前映射塊狀態(tài)為壞,并在重映區(qū)中尋找下一個可用重映塊,將原來在數(shù)據(jù)存儲區(qū)中的塊地址與更新后的映射塊地址寫入BBI表中,并返回新的映射后的地址;如果在數(shù)據(jù)存儲區(qū),就進(jìn)行第一次重映射,更新壞塊表,并且將映射地址返回。然后再完成復(fù)制工作。(3)向操作地址寫一頁數(shù)據(jù)時出錯:將當(dāng)前地址所在塊中的前面頁從交換塊中相應(yīng)地址復(fù)制到重映塊,然后將操作地址所在當(dāng)前頁中的沒有寫到的數(shù)據(jù)從交換塊中復(fù)制,并將緩沖區(qū)中的數(shù)據(jù)重新寫到重映射的地址中,并返回重映射地址。函數(shù)實現(xiàn)如下:
    DWORD FlashDealBadBlock(DWORD Addr,DWORD Type)
    {
     DWORD i;
     DWORD RemapBlockAddr;
     DWORD SwapBlockAddr;
    while(1)
    {
        RemapBlockAddr=FlashGetNewRemapBlock();
        if(RemapBlockAddr==-1)
         return Addr;
        switch(Type)
         { case 1:
           goto Exit;
           break;
           case 2:
           SwapBlockAddr=FlashGetCurrentSwapBlock();
        for(i=0;i<(Addr&(FLASH_BLOCK_SIZE-1))/
FLASH_PAGE_SIZE+1;i++)
         {
         if(0x00==(FlashCopyPage(SwapBlockAddr+
i*FLASH_PAGE_SIZE,RemapBlockAddr+
i*FLASH_PAGE_SIZE)))
            goto BadRemapBlock;
           }
         goto Exit;
         break;
         case 3:
         SwapBlockAddr=FlashGetCurrentSwapBlock();
         for(i=0;i<(Addr&(FLASH_BLOCK_SIZE-1))/
FLASH_PAGE_SIZE;i++)
           {
         if(0x00==(FlashCopyPage(SwapBlockAddr+
i*FLASH_PAGE_SIZE,RemapBlockAddr+
i*FLASH_PAGE_SIZE)))
            goto BadRemapBlock;
          }
         if(0x00==(FlashCopyPage(Addr,RemapBlockAddr+
i*FLASH_PAGE_SIZE)))
            goto BadRemapBlock;
         goto Exit;
         break;
         default:
         break;
    }
    BadRemapBlock:    FlashMarkRemapBlockBad
(RemapBlockAddr);
}
    Exit:FlashUpdateBadBlockTable(Addr,RemapBlockAddr);
    return RemapBlockAddr+(Addr&(FLASH_BLOCK_SIZE-1));
}
3.5 連續(xù)讀寫操作
    當(dāng)主機與設(shè)備建立批量傳輸數(shù)據(jù)連接時,固件通過解析CBW封包獲得起始LBA。對該地址進(jìn)行映射和壞塊管理從而獲得PBA。設(shè)置一個變量,當(dāng)此變量有效時,表示主機對Flash仍需要讀或?qū)憯?shù)據(jù),直到此變量失效為止。同時將主機上一次讀寫扇區(qū)的地址存入另一個變量,此變量在連續(xù)讀中作用不大,但在連續(xù)寫時,通過與上一次寫操作地址所在塊做比較,判斷是否同屬一個塊,以此決定是不是需要進(jìn)行地址跨塊處理。
    本文設(shè)計了一種針對NAND型的閃存轉(zhuǎn)譯層,使NFTL完成地址映射和壞塊管理以及連續(xù)讀寫數(shù)據(jù)的操作。對NAND Flash的分區(qū)設(shè)計,使塊管理結(jié)構(gòu)清晰,有利于固件的開發(fā)。本文沒有對Flash的ECC校驗進(jìn)行過多的設(shè)計,這是因為在實際應(yīng)用中NAND Flash主要用于存儲多媒體數(shù)據(jù)(圖片、語音文件)等,并不會對它進(jìn)行頻繁的寫入或擦除操作,而且多媒體文件數(shù)據(jù)對數(shù)據(jù)的完整性不敏感[5],所以不需要對存儲在其中的每一位數(shù)據(jù)進(jìn)行嚴(yán)格的ECC校驗,可以通過另外設(shè)計簡單的校驗方法來代替ECC校驗。
參考文獻(xiàn)
[1] 張雪,楊春林,黃娟.NAND Flash文件系統(tǒng)的設(shè)計與實現(xiàn)[J].福建電腦,2007,24(10):147-148.
[2] 羅曉,劉昊.一種基于FAT文件系統(tǒng)的NAND Flash壞塊處理方法[J].電子器件,2008,31(2):716-718.
[3] 鄭桂芬.基于USB的可移動閃盤技術(shù)探討[J].計算機工程,2003,29(7):195-197.
[4] 劉榮.圈圈教你玩USB[M].北京:北京航空航天大學(xué)出版社,2009.
[5] 楊玲,袁光濤.大容量NAND Flash在多媒體手機中的應(yīng)用[J].科技咨詢導(dǎo)報,2007,4(1):22-24.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 国产精品9999 | 久久欧美亚洲另类专区91大神 | 精品国产三级a在线观看 | 成年女人午夜毛片免费视频 | 亚洲激情小视频 | 婷婷射精av这里只有精品 | 99久久精品国产一区二区蜜芽 | 成人国产精品一区二区 | 日本丰满护士爆乳xxxx | 精品av国产一区二区三区 | 日本全棵写真视频在线观看 | 朝鲜女人大白屁股ass孕交 | 6080一级片| 免费观看又色又爽又黄的传媒 | 超碰www| 亚洲精品在线播放视频 | 欧美日韩精品久久久 | 日韩国产欧美在线视频 | 伊人影音 | av日韩在线免费观看 | 18女下面流水不遮图 | 67194成是人免费无码 | 国产tscd人妖同性另类调教 | 中文字幕日日 | 精品久久久久久久久久久久久久久久 | 999国产 | 精品久久久久久中文字幕2017 | 天天天色综合 | 特黄特色大片免费播放器图片 | 日韩乱码一区二区 | 成人国产一区二区三区 | 青青99| 国产9 9在线 | 中文 | 亚洲成人在线视频播放 | 黑人粗进入欧美aaaaa | 一区二区三区午夜 | 国产综合色视频 | 国产精品免费一区二区三区都可以 | 欧美在线一二三四区 | 无码av免费毛片一区二区 | 七月色| 国产不卡视频在线观看 | 九九热久久久99国产盗摄蜜臀 | 久久9热| 国产精品午夜小视频观看 | 欧美另类视频在线观看 | 天天操夜夜想 | 久久精品这里热有精品 | 少妇被躁爽到高潮无码文 | 91人网站免费 | 国产一区二区麻豆 | 天天躁日日躁狠狠躁av麻豆 | 2018国产大陆天天弄 | 中文字幕亚韩 | 亚欧视频在线观看 | 人妻少妇久久中文字幕一区二区 | 欧美成人高潮一二区在线看 | 总受合集lunjian双性h | ass日本寡妇pics | 国产一毛片 | 日韩精品在线免费观看视频 | 黄色毛片一级片 | 久久久久久免费毛片精品 | 岛国中文字幕 | 福利视频网站 | 欧美xxxx黑人又粗又长精品 | 一本一道波多野结衣中文av字幕 | www婷婷com| 日本亚洲精品成人欧美一区 | 国产视频黄 | 中文字幕国产精品 | 丰满少妇被猛男猛烈进入久久 | 国产黄色特级片 | 国色综合| 性——交——性——乱免费的 | 亚洲激情视频小说 | 黄色片视频免费看 | 免费成人进口网站 | 国产精品久久久久久模特 | 永久av免费 | 与子敌伦刺激对白播放 | 久久久久久九九九九九 | 国产精品成人影院在线观看 | 国产精品香蕉500g | 久久99精品久久久久久久青青日本 | 中文字幕一级二级三级 | 日韩免费在线 | 四虎在线免费视频 | 黄色a大片 | 少妇与子乱毛片 | 日本一级二级视频 | 久久久久成人精品免费播放动漫 | 欧美精品福利视频 | 日日摸夜夜添夜夜添特色大片 | 久久亚洲私人国产精品va | 日本黄色大片免费看 | 毛片久久久久 | 涩涩免费网站 | 在线看的av网站 | 雨宫琴音av一区在线播放 | 久久se精品一区精品二区 | 亚洲精品456在线播放狼人 | 国产精品色综合 | 亚洲国产视频一区二区三区 | 狠狠干很很操 | 国产又大又粗又爽的毛片 | 浮力影院草草 | 免费在线看黄网站 | 国产精品永久久久久久久久久 | 国产视频123区 | 日韩av片在线 | 男女床上拍拍拍 | 五月婷婷亚洲 | 国产线播放免费人成视频播放 | 一区二区黄色 | 国产高清在线观看视频 | 人妻av一区二区三区精品 | 欧美v日本 | 午夜激情视频在线观看 | 国产精品久久久久久久久久久不卡 | 一级毛片黄 | 免费成人欧美 | 国产精品久久久久久久妇女 | 高清三区 | 一本到无吗专区 | 亚洲春色在线观看 | 精品美女久久久 | 成人国产精品免费视频 | 国产视频网 | 体内精69xxxtv | 97精品在线 | 亚洲一区二区av | 欧美日韩激情 | 另类少妇人与禽zozz0性伦 | 女同av久久中文字幕字 | 中文字幕资源网 | 日本人jizz | 综合五月婷 | 亚洲国产综合色产精品色在线 | 51成人网 | 国产浮力第一页 | 亚洲一区二区三区在线观看视频 | 国产九一视频 | 日韩精品在线观看网站 | 亚洲精品一区二区三区蜜桃 | 韩国三级做爰楼梯在线 | 日韩三级免费观看 | 7m精品福利视频导航 | 亚洲国产成人va在线观看天堂 | 中文日本在线 | 国产黄页 | 高h1v| 人妻少妇精品中文字幕av | 日韩人妻无码精品久久久不卡 | 特级大胆西西4444人体 | 亚洲精品久久久打桩机小说 | 久草资源福利 | 四虎1515hh.com | 欧美一区二区三区大片 | 日本熟妇人妻xxxxx人hd | 精品国产乱码久久久久久浪潮 | 国产人妻精品一区二区三区 | 国产大学生情侣呻吟视频 | 九色精品| 成人片黄网站色大片免费毛片 | 欧美熟妇色ⅹxxx欧美妇 | 欧美性xxxx极品hd欧美风情 | 国产绳艺sm调教室论坛 | 学生粉嫩无套白浆第一次 | 欧美裸体精品 | 亚洲欧洲美洲无码精品va | 亚洲无人区码一码二码三码的含义 | 欧美日一本| 99re在线视频观看 | 91精品啪在线观看国产 | 人人爽人人爽人人爽 | 亚洲裸男自慰gv网站 | 国产精品igao视频网免费播放 | 强开乳罩摸双乳吃奶羞羞www | 国产喂奶挤奶一区二区三区 | 麻豆av在线免费观看 | аⅴ资源新版在线天堂 | 亚洲天堂网一区 | 欧美成人秋霞久久aa片 | 日本少妇毛茸茸高潮 | 中文字幕精品在线观看 | 国产黄网在线观看 | 欧美吻胸吃奶大尺度 | 亚洲天堂成人av | 亚洲欧美国产精品久久久久久久 | 自拍偷在线精品自拍偷无码专区 | 国产97在线 | 免费 | 欧美老肥婆性猛交视频 | 三级a三级三级三级a十八发禁止 | 国产精品第十页 | 李丽珍毛片 | 波多野结衣一区二区三区中文字幕 | 51精品| 久久av色| 亚欧洲精品在线 | 东北少妇av | 国产草草影院 | 亚洲精品成人久久久 | 中文日韩视频 | 日韩精品三级 | 欧美日韩高清在线 | 91丨九色丨丰满人妖 | 少妇荡乳情欲办公室456视频 | 亚洲国产精品成人天堂 | 久久国产精品免费一区 | 日日干天天爽 | 日本极品少妇xxxx | 国产精品久久久久久爽爽爽 | 国产裸体永久免费视频网站 | 中国a毛片 | 亚洲综合色自拍一区 | 亚洲黄色在线视频 | 91视频免费看片 | 一本久久综合亚洲鲁鲁五月天 | 偷看做性肉体探欲k8 | 在线观看福利视频 | 麻豆久久久久久 | 黑人巨大av | 午夜激情四射 | 欧美色图亚洲自拍 | av在线播放一区二区三区 | 久久婷婷国产综合国色天香 | 男人的影院 | 欧美日韩一卡2卡三卡4卡 乱码欧美孕交 | 亚洲色图视频在线观看 | 91caoporn超碰 | 一级大黄色片 | 7799精品视频天天看 | 精品无码国模私拍视频 | 国产精品嫩草影院久久久 | 中文字幕高清免费日韩视频在线 | 国产乱淫a∨片免费视频牛牛 | 国产又爽又黄又无遮挡的激情视频 | 国产最新进精品视频 | 亚洲国产精 | 日本又色又爽又黄的a片18禁 | 好紧好爽再进去一点在线视频 | 狠狠干中文字幕 | 精品国产青草久久久久福利 | 欧洲乱码伦视频免费 | 色呦呦网| 国产在线国偷精品免费看 | 日本一本视频 | 天天综合网91 | 国产黄色片在线播放 | 人人超碰人摸人爱 | 日韩亚洲欧美在线观看 | 激情综合色综合啪啪开心 | h成人在线观看 | 国内精品人妻无码久久久影院导航 | 免费网站日本a级淫片免费看 | 又爽又黄禁片1000视频vr | 成人做爰高潮片免费视频美国 | 秋霞福利片 | 在线播放av片 | 精品黄网站 | 久久国产精品99久久久久 | 中文字幕在线不卡一区二区 | 天堂网一区 | 亚洲人成人77777网站 | 国产女女| 日日碰狠狠躁久久躁2023 | 久综合| 亚洲色图在线播放 | 久久久免费网站 | 俺也来俺也去俺也射 | 亚洲一区二区三区四区五区中文 | 夜夜欢性恔免费视频 | 国产a三级久久精品 | 久久久国产乱子伦精品 | 欧美性视频一区二区三区 | 欧美激情视频一区二区 | 免费看欧美大片 | 精品二区在线 | 久久r精品 | 九九热在线免费观看 | 日本老熟欧美老熟妇 | 亚洲最大av无码国产 | 日韩噜噜| 国产suv精品一区二区五 | 五月综合在线 | 精品香蕉一区二区三区 | 91插插插影院 | 四虎黄色| 亚洲精品成人区在线观看 | 日本xxx裸体xxxx偷窥 | 最新超碰 | 久久精品囯产精品亚洲 | 欧美日韩一级黄色片 | 老妇荒淫牲艳史 | 色哟哟在线网站 | 香蕉97超级碰碰碰免费公开 | 思热99re视热频这里只精品 | 日韩欧美在线视频观看 | 免费看少妇作爱视频 | 奶水旺盛的女人伦理 | 国产高清av在线播放 | 好男人中文资源在线观看 | 一级做人爰片全过 | 欧美黑人又粗又大久久久 | 特级av片| 日本妞vs黑人巨大xxxxx | 曰韩毛片 | 欧美国产日韩久久 | 2019天天干夜夜操 | 翔田千里高潮在线播放 | 欧美性猛交ⅹxx乱大交 | 国产av一区二区三区天堂综合网 | 日本少妇丰满做爰图片 | 国产视频一区在线观看 | 夜夜精品浪潮av一区二区三区 | 成人观看网站 | 国产亚洲日韩一区二区三区 | 色中色成人导航 | 一区二区三区精彩视频 | 激情视频一区 | 特级西西444www大精品视频 | 国产无套乱子伦精彩是白视频 | 久草综合在线视频 | 亚洲另类无码专区首页 | 邻居少妇张开腿让我爽了在线观看 | 日韩性xxxx | 欧美日韩亚洲国产精品 | 国产乱子伦在线观看 | 久久久橹橹橹久久久久高清 | 伊人网免费视频 | 97超碰伊人 | 妞干网欧美 | 中文字幕羽月希黑人侵犯 | 中文字幕3区 | 污污视频网站在线免费观看 | 国产精品99久久久久久久女警 | 天天躁日日躁狠狠躁人妻 | 天天狠天天狠天天鲁 | 她也色在线观看 | 国产污视频在线观看 | 国产一区二区 | 亚洲精品少妇一区二区 | 亚洲视频一区在线 | 欧洲一级片 | 国产精品制服 | 91午夜精品亚洲一区二区三区 | 夜夜添无码一区二区三区 | 日韩三级不卡 | 久久国产夜色精品鲁鲁99 | 美州a亚洲一视本频v色道 | 久久人人爽人人爽人人片av软件 | 国产1级片 | 成人免费视频大全 | 成人免费在线小视频 | 亚洲成人av在线 | 夜夜嗨国产精品 | 国产又粗又爽又猛又大的动漫片 | 影音先锋久久 | 在线少妇| 成人黄网站片免费视频 | 日本a在线 | 精品视频一二三 | 亚洲欧美日韩在线不卡 | 国产av天堂无码一区二区三区 | 国产精品宾馆在线精品酒店 | 粗大猛烈进出高潮视频大全 | 99国产精品视频免费观看一公开 | 日韩精品一区二区三区第95 | 青青草视频播放器 | 午夜剧场在线 | 2018国产精华国产精品 | 特黄特色三级在线观看 | 国产激情无套内精对白视频 | 一级黄视频 | 女人裸体性做爰视频 | 男女午夜激情视频 | xxxxwwww国产| 成人做爰69片免费看网站色戒 | 国产一区二区三区在线观看 | 午夜少妇性高湖久久久久 | 天天操夜操 | 久久久蜜桃一区二区 | 久久精品亚洲国产奇米99 | a级毛片黄色 | 99久久成人| 成人片片| 日本强好片久久久久久aaa | 欧美日韩一级特黄 | 国产亚洲精品久久久久久久久动漫 | 亚洲第一天堂网 | 国产精品自拍在线观看 | 免费成人在线视频网站 | 中文字幕乱码在线观看 | 国产精品视频在线播放 | 久久精品中文字幕一区 | 勾搭足浴女技师国产在线 | 一区二区三区不卡在线观看 | 喷水一区二区 | 日本毛片在线观看 | 久久久精品久久久久久96 | 女仆高潮hd理论片 | 可以看毛片的网站 | 欧美做受又硬又粗又大视频 | 国产肥臀一区二区福利视频 | 久久久久久九九九九九 | 国产夫妻性生活视频 | 综合色久 | 老色鬼av| 性残虐av片在线播放 | 成人亚洲综合 | 曰批全过程免费视频在线观看无码 | 特黄a级片 | 欧美在线一二 | 亚洲欧洲日本一区二区三区 | 国产jjizz一区二区三区视频 | 精品国产髙清在线看国产毛片 | 中文在线天堂资源 | 色欲狠狠躁天天躁无码中文字幕 | 国产中文字幕一区 | 国产精品永久免费视频 | 日韩黄色av网站 | 51国偷自产一区二区三区 | 欧美剧场 | 国产99一区 | 91玉足脚交白嫩脚丫 | 三级一区二区 | 日本一区二区三区在线免费观看 | www.欧美色 | 青青草国产精品一区二区 | 国产夜夜爽 | www.香蕉.com| 国产又猛又黄又爽三男一女 | 色欲久久久天天天综合网精品 | 爱爱一区| 日韩在线视频二区 | 中文第一页 | 无码h黄肉动漫在线观看网站 | 9.1在线观看免费 | 国产良妇出轨视频在线观看 | 国产天堂 | 精品国产96亚洲一区二区三区 | 国产午夜精品久久久久久 | 狠狠干在线 | 外国成人 | 高h喷水荡肉少妇爽多p视频 | 欧美一区二区三区精品免费 | www国产91| 精彩动漫 - 91爱爱 | 欧美国产日本在线 | 久久男人av久久久久久男 | 污网站在线看 | 中国另类性xxxhd100% | 中文字幕精品久久久久人妻红杏1 | 久久夜夜夜 | 日韩成人性视频 | 日韩五码 | 14萝自慰专用网站 | 国产成人av三级在线观看 | 欧美大片视频在线观看 | 精品一卡二卡三卡四卡 | 亚洲色图150p | 亚洲综合久久一区二区 | 精品亚洲成a人片在线观看 国产精品视频二区不卡 | 亚洲精品综合 | 久久爰| 亚洲精品久久久狠狠爱小说 | 人妻无码中文专区久久五月婷 | 裸体美女无遮挡免费网站 | av天堂永久资源网 | 日韩成人精品在线观看 | 1000部拍拍拍18勿入免费视频 | 国产一级桃视频播放 | 99热久久这里只有精品 | 国产精品亚洲二区在线观看 | 国产涩涩 | 国产91对白在线播放 | 成人午夜视频精品一区 | 国产黄大片在线观看画质优化 | 亚洲xx站| 韩国三级中文字幕hd | 全部免费毛片在线播放 | 国产视频久久久久久久 | 国产九九热 | 午夜尤物丰满大乳美女 | 欧美黄色一区二区 | 国产美女高潮一区二区三区 | 热99视频 | 欧美一级夜夜爽 | 天天爽天天爽夜夜爽毛片 | 亚洲资源av无码日韩av无码 | 欧美激情视频在线播放 | 精品国产乱码久久久久久丨区2区 | 亚洲va欧美va国产综合剧情 | 久久视频热 | 性久久| 蜜桃精品视频 | 麻豆视频在线免费看 | 国产精品理人伦一区二区三区 | 天天做天天摸天天爽天天爱 | 嫩草影院污| 久久www免费人成一看片 | 成年视频在线观看 | 国产999精品久久久影片官网 | 一色桃子av大全在线播放 | 男女性高爱潮免费网站 | 日本另类视频 | 日韩精品一区二区三区视频 | 毛片免费视频 | 欧美黑人欧美精品刺激 | 国产性色αv视频免费 | 亚洲精品久久久蜜桃网尤妮丝 | 消息称老熟妇乱视频一区二区 | 丰满熟女高潮毛茸茸欧洲 | 一区二区三区福利视频 | 91极品国产情侣高潮对白 | 欧美人吸奶水吃奶水 | www春色 | 精品国产一区二区三区忘忧草 | 中文有码在线观看 | 精品无码人妻一区二区免费蜜桃 | 天天看毛片 | 欧美精品123 | 久久久久99精品国产片 | 国产后进极品圆润翘臀在后面玩 | 欧美三日本三级少妇三99 | 黑人巨大精品欧美一区二区小视频 | 欧美精品性视频 | 直接看av的网站 | 干干操操| 韩国日本在线 | 国产精品伦一区二区三级视频 | 激情在线观看视频 | 欧美日韩在线免费视频 | 波多野结衣在线观看一区二区 | 午夜影院欧美 | 欧美视频一区二区三区四区 | 美女视频黄色免费 | 日韩av无码免费播放 | 在线观看毛片网站 | 免费看三级毛片 | 粉嫩av一区二区夜夜嗨 | 欧美大荫蒂毛茸茸视频 | 91在线porny国产在线看 | 爱福利视频网 | av三级网站 | 精品国产乱码久久久久久婷婷 | 国产精品一区二区av不卡 | 精品乱码一区内射人妻无码 | 无码内射中文字幕岛国片 | 理论片91| 性欧美长视频免费观看不卡 | 老子影院午夜伦不卡 | 九九热视频在线观看 | 第一区免费在线观看 | 国产又粗又猛又爽又黄的视频免费 | 亚洲精品一二 | 日韩一级av毛片 | 18禁美女裸体网站无遮挡 | 91黄色免费 | 黄色片女人 | 欧美黄色性 | 欧美性猛交xxxx乱大交 | 香蕉爱视频 | 国产亚洲一区在线 | 婷婷精品久久久久久久久久不卡 | 欧美成人在线免费视频 | 久久久噜噜噜久久 | 国产福利视频在线观看 | 亚洲精品午夜无码专区 | 午夜天堂一区人妻 | 三级国产三级在线 | 伊人国产在线视频 | 人人妻人人澡人人爽人人精品浪潮 | 日韩欧美中文字幕一区二区 | 国产中文区二暮区2022 | 久久av喷吹av高潮av萌白 | 鸭子tv国产在线永久播放 | 大陆少妇xxxx做受高清 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲日韩国产成网在线观看 | 亚洲第一免费播放区 | 狠狠五月婷婷 | 九一福利视频 | 欧美黄绝喷潮片 | 免费无码又爽又刺激高潮视频 | 中文字幕乱码人妻一区二区三区 | 国产69久久久欧美一级 | 曰韩无码二三区中文字幕 | 高潮videossex高潮 | 无翼乌口工全彩无遮挡h全彩 | 少妇色综合 | 午夜之声l性8电台lx8电台 | 日本理伦片973影视 日本理论片在线 | 丁香激情综合久久伊人久久 | 少妇伦子伦精品无吗在线观看 | 国产精品成人一区二区三区 | 精品一区二区久久久久久久网站 | 少妇特殊按摩高潮惨叫无码 | 毛片视频在线免费观看 | 黄色一级网址 | 九九视频免费在线观看 | 免费观看国产精品 | 久久国产v综合v亚洲欧美蜜臀 | 欧美日韩黄色 | 妞干网这里只有精品 | 日韩激情视频网站 | 国产精品三级一区二区 | 在线观看黄色网页 | 久久看毛片 | 色综久久综合桃花网 | 伊人网综合视频 | 哺乳援交吃奶在线播放 | 精彩视频一区二区三区 | 一区二区三区91 |