檢驗壞塊演算法
⑴ 關於U盤壞塊的問題
不是。把U盤插上。右鍵我的電腦。管理磁碟管理。然後找到U盤。然後就可以看到隱藏的762M的空間。然後右鍵 新建分區。下一步下一步就可以搞定。最簡單的重新格式化。如果格式化還是老樣子。那麼,你找個平底鞋去抽老闆。Y的買你個假貨。
⑵ 單片機手冊中常出現的ECC是什麼的縮寫啊
ECC的全稱是 Error Checking and Correction or Error correction Coding,是一種用於差錯檢測和修正的演算法。上一節的BBM中我們提到過,NAND快閃記憶體在生產和使用中都會產生壞塊,BBM就是壞塊的管理機制,而要 有效管理壞塊的首要前提就是有可靠的壞塊檢測手段。如果操作時序和電路穩定性不存在問題,NAND快閃記憶體出錯的時候一般不會造成整個Block或Page不 能讀取甚至全部出錯,而是整個Page中只有一個或幾個bit出錯,這時候 ECC就能發揮作用了。不同顆粒有不同的基本ECC要求,不同主控制器支持的ECC能力也不同,理論上來說ECC能力也是夠用就行。
當前SSD內最普遍使用的ECC碼是BCH碼。當數據寫入的時候,控制器內部的ECC模塊計算數據並生成ECC簽名,一般來說這個步驟非常 快,因此並不會影響整個SSD太多的性能表現。ECC的簽名一般來說都保存在NAND頁後部的SA區域,當數據從NAND讀取的時候ECC模塊回去讀取 ECC簽名,並對照相同與否來發現出現的錯誤。
相比發現錯誤,修復接收到的數據錯誤更復雜。第一步是檢測收到的數據是否出錯,這個和上面生成ECC簽名的操作一樣非常快。如果檢測到接收 到的數據包含錯誤比特,就需要去生成獨特的ECC演算法(比如BCH),這部分會造成性能損失,但是只有在檢測到錯誤時候才做。用生成的ECC演算法來修復之 前檢測到的錯誤。
必須強調的是,ECC解碼過程是可能出現失敗的,所以ECC系統架構必須合理的設計才能保證ECC不出錯,而ECC能夠修復的錯誤比特數取決於ECC演算法設計。
如果ECC糾不過來, 一般會報ECC Fail, 用戶表現為Read Fail,有時候ECC甚至診測不到出錯, 就會導致數據錯誤。
NAND的穩定性需要有多方面保障,ECC只能用來保證部分比特出錯時的修復,如果整個頁甚至塊出現大面積錯誤,那麼只有RAID這類的冗餘保護才能修復了。
在企業級產品中對ECC甚至還有更苛刻的要求,那就是數據完整性檢查,SSD內部所有的匯流排, 先進先出數據緩存器部分都要查,可以檢測數據在進入NAND之前的錯誤。
⑶ 有誰比較了解sd卡或u盤的磨損平衡和壞塊管理功能,能不能稍微詳細說一下。謝謝
這是我的理解:
很不標准呵呵,就是當每塊寫入次數到了它的周期(1~10萬次),就壞掉了,於是固件會忽略掉它,用別的塊代替~所以U盤越用越小。
這是專業的說法:
WL(Wear leveling) 磨損平衡
在傳統的硬碟中,每個扇區的讀寫利用率是不平均的。一般來說磁碟外徑的空間讀寫速度最快,會被放置一些經常需要使用的數據。而磁碟的中間和靠近盤芯的部位會放置一些比較不容易被訪問的數據。
在SSD中也有這樣的情況,快閃記憶體晶元不同塊、頁的數據更新速度是不同的。很顯然,如果某個塊或者頁的利用率高於其他,那麼它的寫入周期將被過快的消耗掉。由此這里就會產生一個壞塊。一旦這個壞塊是無法被修復或屏蔽的,那麼這片快閃記憶體晶元也隨之報廢。而一顆晶元的報廢會導致整塊SSD無法繼續使用。因此,這是工程師與消費者最不願看到的情況。
平衡快閃記憶體中每一個塊的負載,保持所有的存儲單元都能被均勻的利用。這就能極大的保持SSD的健康性,保證SSD可以長期可靠的工作。
磨損平衡技術依賴於邏輯和物理地址的轉換:也就是說,每次主機上的應用程序請求相同邏輯頁地址時,內存控制器動態的映射邏輯頁地址到另一個不同的物理頁地址,並把這個映射的指向存放在一個特定的「映射表」里。而之前過期的物理頁地址就被標記為「無效」並等待之後的擦除操作。這樣一來,所有的物理塊就能被控制在一個相同磨損范圍,保證所有存儲單元能夠同時「老化」。
磨損平衡演算法分靜態和動態。動態磨損演算法是基本的磨損演算法:只有用戶在使用中更新的文件佔用的物理頁地址被磨損平衡了。而靜態磨損演算法是更高級的磨損演算法:在動態磨損演算法的基礎上,增加了對於那些不常更新的文件佔用的物理地址進行磨損平衡,這才算是真正的全盤磨損平衡。目前SandForce和Marvell的主控方案都支持靜態磨損演算法。
⑷ nandflash和norflash的區別
nand flash和nor flash的區別如下:
1、開發的公司不同:
NOR flash是intel公司1988年開發出了NOR flash技術。NOR的特點是晶元內執行(XIP, eXecute In Place)。
Nand flash內存是flash內存的一種,1989年,東芝公司發表了NAND flash結構。其內部採用非線性宏單元模式,為固態大容量內存的實現提供了廉價有效的解決方案。
2、存儲單元關系的不同:
兩種FLASH具有相同的存儲單元,工作原理也一樣,但NAND型FLASH各存儲單元之間是串聯的,而NOR型FLASH各單元之間是並聯的。為了對全部的存儲單元有效管理,必須對存儲單元進行統一編址。
3、擦除操作的不同:
NAND FLASH執行擦除操作是十分簡單的,而NOR FLASH則要求在進行擦除前先要將目標塊內所有的位都寫為0。
由於擦除NOR FLASH時是以64~128KB的塊進行的,執行一個寫入/擦除操作的時間為5s,與此相反,擦除NAND FLASH是以8~32KB的塊進行的,執行相同的操作最多隻需要4ms。
參考資料來源:網路-Nand flash
參考資料來源:網路-NOR Flash
⑸ 如何檢測flash壞塊
方法如下:
所需工具:CheckFlash
直接按開始即可檢測。
紅色方塊代表物理驅動器錯誤,而黃色方塊則代表邏輯數據錯誤。
CheckFlash可以測試U盤的讀取及寫入速度,測試U盤FLASH是否存在物理損壞。
存取類型可以使用臨時文件、作為邏輯驅動器或者作為物理設備。
⑹ 請教nand flash interleave操作的問題
交錯頁編程(Interleave Page Program)
多片同時編程,是針對一個chip裡面的多個Plane來說的,
而此處的交錯頁編程,是指對多個chip而言的。
可以先對一個chip,假設叫chip1,裡面的一頁進行編程,然後此時,chip1內部就開始將數據一點點寫到頁裡面,就出於忙的狀態了,而此時可以利用這個時間,對出於就緒狀態的chip2,也進行頁編程,發送對應的命令後,chip2內部也就開始慢慢的寫數據到存儲單元裡面去了,也出於忙的狀態了。此時,再去檢查chip1,如果編程完成了,就可以開始下一頁的編程了,然後發完命令後,就讓其內部慢慢的編程吧,再去檢查chip2,如果也是編程完了,也就可以進行接下來的其他頁的編程了。如此,交互操作chip1和chip2,就可以有效地利用時間,使得整體編程效率提高近2倍,大大提高Nand Flash的編程/擦寫速度了。
⑺ FLASH中鉛筆工具和刷子工具的區別方法是
在NAND快閃記憶體中每個塊的最大擦寫次數是一百萬次,而NOR的擦寫次數是十萬次。NAND存儲器除了具有10比1的塊擦除周期優勢,典型的NAND塊尺寸要比NOR器件小8倍,每個NAND存儲器塊在給定的時間內的刪除次數要少一些。
B) 位交換
所有flash器件都受位交換現象的困擾。在某些情況下(很少見,NAND發生的次數要比NOR多),一個比特(bit)位會發生反轉或被報告反轉了。
一位的變化可能不很明顯,但是如果發生在一個關鍵文件上,這個小小的故障可能導致系統停機。如果只是報告有問題,多讀幾次就可能解決了。
當然,如果這個位真的改變了,就必須採用錯誤探測/錯誤更正(EDC/ECC)演算法。位反轉的問題更多見於NAND快閃記憶體,NAND的供應商建議使用NAND快閃記憶體的時候,同時使用EDC/ECC演算法。
這個問題對於用NAND存儲多媒體信息時倒不是致命的。當然,如果用本地存儲設備來存儲操作系統、配置文件或其他敏感信息時,必須使用EDC/ECC系統以確保可靠性。
C) 壞塊處理
NAND器件中的壞塊是隨機分布的。以前也曾有過消除壞塊的努力,但發現成品率太低,代價太高,根本不劃算。
NAND器件需要對介質進行初始化掃描以發現壞塊,並將壞塊標記為不可用。在已製成的器件中,如果通過可靠的方法不能進行這項處理,將導致高故障率。
5、易於使用:
可以非常直接地使用基於NOR的快閃記憶體,可以像其他存儲器那樣連接,並可以在上面直接運行代碼。
由於需要I/O介面,NAND要復雜得多。各種NAND器件的存取方法因廠家而異。
在使用NAND器件時,必須先寫入驅動程序,才能繼續執行其他操作。向NAND器件寫入信息需要相當的技巧,因為設計師絕不能向壞塊寫入,這就意味著在NAND器件上自始至終都必須進行虛擬映射。
6、軟體支持:
當討論軟體支持的時候,應該區別基本的讀/寫/擦操作和高一級的用於磁碟模擬和快閃記憶體管理演算法的軟體,包括性能優化
⑻ ORACLE使用dbv工具檢驗數據文件是否有壞塊
dbv工具可以用來驗證數據文件的有效性,在資料庫恢復之前可以使用該命令對備份文件進行有效性檢查,
防止因備份文件本身的問題導致資料庫無法恢復。
當然,dbv命令也可以對在線的數據文件進行檢查。
注意,dbv工具只可以對數據文件進行檢查,無法使用它完成控制文件和日誌文件的檢查。
1.dbv命令語法
dbverify ::=
dbv [ USERID=username/password ]
FILE = filename
| { START = block_address | END = block_address }
| BLOCKSIZE = integer
| HIGH_SCN = integer
| LOGFILE = filename
| FEEDBACK = integer
| HELP = { Y | N }
| PARFILE = filename
End of description.
參考自Oracle官方文檔http://download.oracle.com/docs/cd/E11882_01/server.112/e10701/img_text/dbverify.htm
2.查看幫助文檔
從語法定義中我們看到「HELP = { Y | N }」選項,我們可以使用它查看dbv的幫助信息。
ticket@secDB /home/oracle$ dbv help=y
DBVERIFY: Release 11.2.0.1.0 - Proction on Wed Mar 31 19:47:36 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Keyword Description (Default)
----------------------------------------------------
FILE File to Verify (NONE)
START Start Block (First Block of File)
END End Block (Last Block of File)
BLOCKSIZE Logical Block Size (8192)
LOGFILE Output Log (NONE)
FEEDBACK Display Progress (0)
PARFILE Parameter File (NONE)
USERID Username/Password (NONE)
SEGMENT_ID Segment ID (tsn.relfile.block) (NONE)
HIGH_SCN Highest Block SCN To Verify (NONE)
(scn_wrap.scn_base OR scn)
幫助信息中描述了dbv命令的使用方法,不贅述。
3.體驗dbv工具的效果
1)查看系統中的數據文件名稱
sys@ticket> col name for a60
sys@ticket> select name from v$datafile;
NAME
------------------------------------------------------------
/oracle/ora11gR2/oradata/ticket/system01.dbf
/oracle/ora11gR2/oradata/ticket/sysaux01.dbf
/oracle/ora11gR2/oradata/ticket/undotbs01.dbf
/oracle/ora11gR2/oradata/ticket/users01.dbf
2)使用dbv工具對users01.dbf進行檢查
(1)使用最簡單的參數
sys@ticket> !dbv file=/oracle/ora11gR2/oradata/ticket/users01.dbf
DBVERIFY: Release 11.2.0.1.0 - Proction on Wed Mar 31 19:50:59 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
DBVERIFY - Verification starting : FILE = /oracle/ora11gR2/oradata/ticket/users01.dbf
DBVERIFY - Verification complete
Total Pages Examined : 35520
Total Pages Processed (Data) : 33029
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 20
Total Pages Failing (Index): 0
Total Pages Processed (Other): 402
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 2069
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 9291961 (0.9291961)
在實際使用中重點關注以下信息:
Total Pages Failing (Data) : 0
Total Pages Failing (Index): 0
Total Pages Failing (Seg) : 0
Total Pages Marked Corrupt : 0
如果以上信息返回結果不為0,需要重點關注!及時排查原因。
(2)如果指定logfile參數,檢查結果將只記錄在日誌文件中,屏幕上不顯示
sys@ticket> !dbv file=/oracle/ora11gR2/oradata/ticket/users01.dbf logfile=dbv_users01.log
DBVERIFY: Release 11.2.0.1.0 - Proction on Wed Mar 31 19:52:20 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
此時可以使用SQL*Plus的edit命令查看生成的日誌文件內容。
sys@ticket> ed dbv_users01.log
⑼ u 盤的壞塊檢測 和 黑片檢測各是什麼意思 或者說
壞塊就是U盤上壞掉的存礎區域
目前市場上流行黑片、白片的說法,都是Downgrade Flash的類型,由於Flash製程和容量的提升,內部的構成越來越復雜。而新的製程推出時,產品良率並不一定理想,那些不良的Flash有些是容量不足,有些是壽命不能達到要求,有些是測試不能通過,這些不能達到出廠要求的Flash都被稱為Downgrade Flash。Downgrade Flash有些由廠家推向市場,比如Spectech等就是鎂光(Micron)的Downgrade Flash。而另外一部分作為廢品淘汰掉,但是利潤驅使,這些廢品也會低價被收購流入市場。一些廠家以各種方案的掃描工具(Soting Board)來檢驗出來哪些能夠使用。這些廠家收購Flash按斤回收,通過少則數十台Soting Board,所則上千台Soting Board一同掃描,每天有上百K的產能。大部分Downgrade Flash被做成SD卡,少數用於U盤,極少數廠家用於生產MP3。Downgrade Flash的處理方式多數是降低容量出售。不論怎樣處理,都還是存在問題隱患。但由於價格低廉,Downgrade Flash的市場正在進一步成長。