Có đúng là Thẻ SD / MMC không bị san bằng với bộ điều khiển riêng không?


51

Tôi không thể tìm thấy bất kỳ thông tin đáng tin cậy về điều này. Tôi không có thông số kỹ thuật đầy đủ về phần cứng Thẻ SD / MMC.

Có thật không? Ứng dụng cấp cao của tôi không cần phải quan tâm đến việc cân bằng hao mòn khi làm việc với các thẻ này?

BIÊN TẬP

Ai đó có thể xác nhận rằng mức độ hao mòn được đảm bảo bởi thông số kỹ thuật SD? Tôi muốn chắc chắn, vì có vẻ như hầu hết các nhà cung cấp làm điều đó, nhưng nó không được yêu cầu bởi đặc điểm kỹ thuật.


5
Không phải tất cả các nhà sản xuất phương tiện truyền thông flash đầu tư vào các thuật toán cân bằng hao mòn. Việc cân bằng hao mòn phổ biến hơn ở các ổ SSD nơi các nhà sản xuất dẫn đầu thị trường vì các thuật toán.
Chetan Bhargava

Câu trả lời:


43

Tôi làm việc cho một công ty từng là thành viên của hiệp hội SD, chúng tôi quen thuộc với thông số 2.0 (SDHC). Thông số kỹ thuật của thẻ SD KHÔNG có mục nhập để cân bằng hao mòn. Điều đó hoàn toàn phụ thuộc vào nhà sản xuất SD để xử lý nếu họ chọn. Chúng tôi đã thấy rằng một số có khả năng làm điều đó, trong khi những người khác thì không (hãy cẩn thận với thẻ SD loại bỏ siêu rẻ). SDXC có thể đã thay đổi điều đó để bao gồm mức độ hao mòn, nhưng tôi không chắc về điều đó. Thật không may, cách duy nhất để thực sự thể hiện điều đó là bắt tay vào thông số kỹ thuật chính thức. Bạn có thể tìm thấy nó trực tuyến rất có thể, nhưng hiệp hội SD thực sự muốn bạn trả tiền cho nó.

Như một lưu ý phụ, lấy thẻ 2GB và viết nó bắt đầu hết lần này đến lần khác trung bình khoảng 10TB trước khi thẻ chết và không còn có thể ghi được. Ngoài ra, thẻ SD sẽ không cho bạn biết khi nào dữ liệu xấu, tức là sẽ không trả về lỗi I / O như ổ cứng PC. Đây có thể không phải là vấn đề đối với các thiết kế nhúng vì 10TB là RẤT NHIỀU dữ liệu, nhưng nó có thể là một yếu tố cho một ai đó.


2
Tôi cho rằng mặc dù nó không nằm trong thông số kỹ thuật, các công ty vẫn muốn làm điều đó để giữ cho danh tiếng của họ tốt. Trong khi những người hạ gục siêu rẻ không quan tâm đến danh tiếng, họ bán cho những người muốn giảm giá mọi thứ. Điều này nghe có vẻ hợp lý?
Kellenjb

1
@Kellenjb Đó là một giả định rất hợp lý, và cá nhân tôi sẽ đồng ý với bạn. Tuy nhiên, vì nó không nằm trong thông số kỹ thuật và rất khó có thể truy cập vào bất kỳ thiết kế bộ điều khiển SD nào của nhà sản xuất cụ thể, nên nó thực sự không thể được chứng minh. Chúng tôi đã thực hiện rất nhiều thử nghiệm trong những năm qua, một số thương hiệu lớn thực hiện tốt hơn nhiều so với những người khác. Nó có thể là sự khác biệt trong các thuật toán nội bộ hoặc hoàn toàn thiếu chúng.
Kris Bahnsen

4
Những cú hích rẻ tiền sẽ không quan tâm ngay cả khi nó nằm trong thông số kỹ thuật. Nó không hiển thị ngay lập tức cho khách hàng, nó bị thiếu. Chúng ta đang nói về những người bán phích cắm chì như IC. Tôi chưa nghe nói về một thẻ thương hiệu không đeo san lấp mặt bằng, nhưng tôi cho rằng nó có thể.
darron

@KrisBahnsen bạn có thể giải thích rõ hơn về những gì thẻ SD thực sự trả về khi có lỗi không thể phục hồi? Tôi rất quan tâm đến việc này. Có cách nào để phát hiện tình trạng này không?
fret basset

3
@fredbasset, cách để zombie chủ đề;) Đã được một thời gian kể từ khi tôi làm bất kỳ công việc thẻ SD nào. Tuy nhiên, bản thân thẻ SD IIRC sẽ trả lại bất cứ thứ gì họ cảm thấy thích. Một số trong những cái mới hơn kết hợp với trình điều khiển phong nha có thể phát hiện ra lỗi IO. Tuy nhiên, các thẻ SD cũ hơn sẽ trả về dữ liệu xấu được lưu trữ trong NAND và gọi đó là dữ liệu tốt. Mặc dù, nếu không thể hoàn thành ghi, điều đó sẽ trả về lỗi IO.
Kris Bahnsen

23

Đúng rồi! Thẻ MicroSD chứa chip flash NAND được liên kết với vi điều khiển (ARM) được gói gọn trong một số nhựa màu đen. http://www.bunniestudios.com/blog/?p=898 giải thích.

Ở cuối bài đăng tiếp theo http://www.bunniestudios.com/blog/?p=918 Bunnie đặt ra việc tích hợp bộ điều khiển có thể có chi phí thấp hơn so với thử nghiệm đèn flash trước thời hạn.

Trích dẫn hướng dẫn sử dụng sản phẩm thẻ SD của SanDisk: "1.9 Cân bằng hao mòn. Cân bằng hao mòn là một phần nội tại của chức năng xóa nhóm của Thẻ SD, sử dụng bộ nhớ NAND." Bạn có thể đọc toàn bộ nội dung trong biểu dữ liệu cho thẻ thương hiệu SanDisk .


1
Bunnie Huang chắc chắn là đủ đáng tin đối với tôi!
Abbeyatcu

Điều đó là tốt để biết, nhưng tôi sẽ chờ đợi một người có thể khai sáng câu hỏi này dựa trên đặc điểm kỹ thuật chính thức của công nghệ này.
ivarec

2
Digikey cho tôi xem tập tài liệu SanDisk vô dụng này khi tôi cố gắng tra cứu một bảng dữ liệu. Các bảng dữ liệu WintecSwissbit là tốt hơn, và cả hai đều đề cập đến mức độ hao mòn. Bạn có thể liên kết đến bảng dữ liệu được lưu trữ trên Digikey không?
Kevin Vermeer

Đó là những cách tốt hơn so với SanDisk cũ.
joeforker

Wintec không tuyệt vời, nhưng SanDisk mới là thứ tốt nhất trong nhóm! Cảm ơn đã chỉnh sửa.
Kevin Vermeer

19

Có, thẻ SD / MMC có bộ điều khiển làm cân bằng độ mòn. Nếu họ không, bạn có thể phá hủy một trong vài phút với các mẫu viết sai.

Đó thực sự là một vấn đề đối với một số dự án nhúng. Hoàn toàn không có cách nào (rõ ràng) để biết những lĩnh vực nào có thể bị hao mòn bất cứ lúc nào, do đó, một chu kỳ năng lượng không đúng lúc có thể phá hủy dữ liệu ở bất cứ đâu trên thẻ, bất kể bạn nghĩ gì khi viết. (đừng hỏi làm sao tôi biết :))

Thẻ SD phải được sử dụng với một hệ thống đảm bảo tắt hệ thống sạch (hoặc ít nhất là ghi được phép hoàn thành), hoặc cuối cùng sẽ mất dữ liệu.

BIÊN TẬP

Vấn đề là quá trình cân bằng hao mòn hoàn toàn bị ẩn. BẤT K sector khu vực nào trên đĩa có thể được di chuyển bất cứ lúc nào (hoán đổi với trang được viết) và nếu mất điện ở giữa quá trình đó, khu vực ngẫu nhiên có thể bị hỏng.

Mặc dù có những cách hợp lý an toàn để thực hiện động thái này, nhưng nó không có trong bất kỳ thông số kỹ thuật nào vì vậy bạn không thể tin rằng thẻ sẽ thực hiện. Bạn có thể kiểm tra một thẻ, để nó hoạt động, sau đó nhà sản xuất có thể thay đổi cách thực hiện mà không thay đổi số phần và bạn bị vặn.

Từ thử nghiệm, bộ điều khiển của thẻ SD của tôi KHÔNG làm điều này một cách an toàn.

Tôi có thể xem xét thẻ SD "có độ tin cậy cao" mà tôi thấy được quảng cáo cụ thể về khả năng chịu sự cố mất điện ... nhưng sau đó bạn phải tin tưởng nhà sản xuất làm điều đó một cách chính xác, còn tôi thì không. Tôi thực sự muốn kiểm soát trực tiếp trên trang xóa. Tôi vẫn đang cố gắng để tìm ra điều này.


4
Xem câu trả lời được đăng của tôi. Vì các thuật toán cân bằng hao mòn tùy thuộc vào nhà sản xuất, nên chúng có thể không phải là để hít. Một thuật toán cân bằng hao mòn tốt sẽ di chuyển dữ liệu trước, sau đó đánh dấu dữ liệu đó tốt, sau đó rác thu thập dữ liệu gốc. Đây có thể là một vấn đề trên một số thẻ, có thể không phải là những người khác. SD là một thiết kế rất xấu khi bạn chạm đến đáy của nó.
Kris Bahnsen

2
Vâng, đó là một tiêu chuẩn tào lao theo như tôi quan tâm. Thật khó chịu khi một tiêu chuẩn lưu trữ bộ nhớ phổ biến như vậy vốn dĩ không đáng tin cậy.
darron

2
@jpc: Có lẽ tôi sẽ làm một mục blog sau đó. Tôi đang có ấn tượng nó không được xem xét thường xuyên. Tôi đã không nhận ra những hàm ý cho đến khi quá muộn. Tôi đã chiến đấu với điều này, nói chuyện với nhà sản xuất thẻ SD của mình, v.v. Không có giải pháp nào khác ngoài việc giảm thiểu thời gian ghi. Bây giờ tôi viết thư cho NAND flash và sao chép vào SD mỗi ngày một lần nhanh nhất có thể. Có thẻ SD được thiết kế để "chống lại" sự cố mất điện ngẫu nhiên, nhưng tôi không chắc những thẻ này hoàn toàn đáng tin cậy.
darron

2
@fred basset Lạ thay, thông số kỹ thuật trên thẻ công nghiệp dường như đã thay đổi kể từ khi câu trả lời này được viết. Tôi đã nhìn thấy thẻ nhớ microSD với sự đảm bảo khi viết (được ghi lại, tôi nghĩ vậy) ... bây giờ, họ không đưa ra yêu cầu như vậy. Nói chuyện với một nhà sản xuất, họ đang sử dụng siêu xe bây giờ ... nhưng chỉ những thẻ flash nhỏ gọn mới có chỗ cho họ. Làm mọi thứ một cách an toàn làm giảm hiệu suất quá nhiều. Họ đang nói rằng bằng cách nào đó cung cấp đủ năng lượng dự phòng để hoàn thành một bài viết. Cho rằng các ARM SBC hiện đại phức tạp như thế nào ... thật sự rất khó để làm nếu thiết kế tham chiếu của nhà cung cấp không làm điều đó. Không ai mà tôi biết làm.
darron

2
@freq basset Tôi đang sử dụng UBI & UBIFS. Nó dường như hoạt động tốt ... Tôi đã có rất nhiều hệ thống chạy trong nhiều năm nay mà không gặp vấn đề gì.
darron

12

Bất kỳ loại thẻ SD nào sử dụng bất kỳ loại bộ nhớ flash NAND thông thường nào cũng sẽ phải sử dụng một số loại ảo hóa ngành, vì không có thiết bị flash NAND thông thường nào có thể hỗ trợ xóa từng vùng 512 byte riêng lẻ và không có thiết bị flash NAND thông thường có kích thước đáng kể sẽ có thể mang lại hiệu suất trong một mức độ lớn thậm chí có thể chấp nhận được nếu mọi nỗ lực viết một ngành yêu cầu thiết bị sao chép tất cả các lĩnh vực trong khối xóa của ngành đó (ngay cả vào RAM), sau đó xóa khối và viết Tất cả các ngành trở lại. Hầu hết các kỹ thuật ảo hóa ngành vốn đã có phần hao mòn. Tôi hy vọng vấn đề lớn nhất về phương sai giữa các thiết bị chất lượng và các điểm hạ gục sẽ là mức độ mà một thiết bị tích cực cố gắng để thậm chí cân bằng giữa các khối, so với chỉ đơn giản là sử dụng phân bổ khối giả ngẫu nhiên và hy vọng rằng sẽ mang lại kết quả gần như chấp nhận được. Trong thực tế, tôi hy vọng rằng ngay cả phân bổ ngẫu nhiên / hy vọng cho sự tốt nhất sẽ là đủ trong hầu hết các trường hợp.


Rất có thể là việc "cân bằng hao mòn" mà một số nhà sản xuất thực hiện là do chính giao diện NAND và chặn sang ngành / khu vực để chặn ảo hóa.
Kris Bahnsen

1
@KrisBahnsen: Tôi hy vọng rằng các nhà sản xuất tuyên bố mức độ hao mòn sẽ chủ động theo dõi sự hao mòn tương đối của các khối và tuổi khác nhau của dữ liệu trong đó và nếu các khối có dữ liệu tồn tại lâu được tìm thấy ở các khối có độ hao mòn thấp hơn nhiều so với mức trung bình, thì dữ liệu từ các khối đó sẽ được chuyển thành các khối bị hao mòn nhiều hơn (vì vậy, rất có thể, giảm thiểu hao mòn trong tương lai trên các khối đó). Điều này có thể cải thiện hệ số 10 tuổi thọ của thiết bị chứa 95% dữ liệu không bao giờ thay đổi, trong khi 5% không gian còn lại bị đảo lộn thường xuyên.
supercat

Tôi đồng ý, nếu họ đang quảng cáo nó, tôi tưởng tượng họ sẽ làm một số loại mặc thực sự. Tôi hơi tiêu cực về toàn bộ chủ đề mà tôi xin lỗi; Tôi đã bị cắn vài lần bởi những điều kỳ quặc của SD.
Kris Bahnsen

1
@KrisBahnsen: Vấn đề lớn nhất tôi nghĩ là một mô hình ảo hóa giả định một bó tuyến tính gồm các cung 512 byte được đánh số liên tiếp. Giao diện với DOS có thể thuận tiện, nhưng nó không thực sự phù hợp với phần cứng tồn tại, cũng như với những gì phần mềm máy chủ thực sự muốn. Mở số khối lên 64 bit và cho phép chúng tùy ý không liên tiếp, sau đó sắp xếp để các tệp luôn được lưu trữ trong các khối liên tiếp logic. Để xóa một tập tin, xóa phạm vi khối của nó.
supercat

2
Đây có thể là câu trả lời tốt nhất. Tôi nghi ngờ đây là cách tất cả họ làm điều đó. Nếu bạn nghĩ về nó, không có cách nào để thực hiện cân bằng hao mòn xác định với bất kỳ loại thuật toán thực sự tinh vi nào vì lịch sử hao mòn sẽ phải được lưu trữ ở đâu đó trên cùng một thẻ và phần đó sẽ thất bại trước tiên. San lấp ngẫu nhiên là khả năng thực tế duy nhất. Tôi không tin rằng SSD là thông minh hơn. Họ có thể đơn giản có nhiều bộ đệm thay thế hơn, mặc dù chắc chắn là họ lưu trữ thông tin hao mòn rất thô (và do đó không thường xuyên cập nhật).
Nimrod

7

Sandisk có một tờ giấy trắng giải thích logic cân bằng hao mòn trong thẻ của họ và tiếp tục đưa ra ước tính về tuổi thọ của thẻ theo một số tình huống. Tóm tắt điều hành: trừ khi bạn không ngừng đập thẻ, nó sẽ kéo dài hàng thập kỷ.


Liên kết đã chết và nội dung dường như đã hết hạn - vì nó tiết lộ quá nhiều, có lẽ?
Cuadue

6
@Cuadue Liên kết có thể truy cập. Chỉ trong trường hợp nó phá vỡ, trang web được lưu trữ tại web.archive.org/web/20150326122100/http://ugweb.cs.ualberta.ca/...
Lekensteyn

2

Thật thú vị khi lưu ý rằng mặc dù điều này rất nhiều thiết bị làm hỏng thẻ SD và thẻ nhớ microSD, đặc biệt là những thiết bị có mật độ cao nếu pin yếu hoặc điện thoại gặp sự cố / tắt / v.v. Tôi nghi ngờ rằng vấn đề này là quy định không đầy đủ về nguồn cung cấp điện áp vì điều này đã được biết đến trên một số thẻ (ho Ad t / ho) dẫn đến hiện tượng thẻ không thể đọc được trên một số đầu đọc bên ngoài nhưng hoạt động tốt trên một số loại micro được cung cấp bởi một số cửa hàng máy tính.

Tôi đang trong quá trình khôi phục thẻ tại thời điểm này với lỗi này, thật kỳ lạ là hầu hết dữ liệu có thể phục hồi được nhưng một số lĩnh vực không phải mặc dù điều này thay đổi trên mỗi lần thử. Có thể bản thân san bằng bị lỗi? (vâng, đã thử nhiều độc giả, cùng một lỗi!)


0

Cũng đã có một số thẻ zombie "nuking" thành công, tức là những thẻ không hoàn thành định dạng hoặc chỉ đọc. Chỉ hoạt động trên một tỷ lệ nhỏ nhưng chúng nhạy hơn nhiều so với hầu hết các hướng dẫn "chính thức" về hiệu quả.

Do đó, một thẻ thử nghiệm được xử lý kéo dài đủ bốn tháng trước khi thất bại một lần nữa, nếu nó không dành cho thiết bị thì nó được sử dụng để cung cấp điện áp nhiễu, thời gian tồn tại có thể kéo dài hơn.


1
Bằng cách "nuking", bạn có nghĩa là đặt nó trong lò vi sóng? Ở công suất nào và bao lâu?
0x6d64

Uh, không :-) Ngoài ra, tại sao khi phóng điện phát sáng (RF) sẽ có tác dụng tương tự và ít nguy hiểm hơn nhiều so với phương pháp tôi đã sử dụng? Hóa ra thẻ uSD nhạy hơn rất nhiều do không có vỏ kim loại ở một bên.
Conundrum5642Z

Tôi không thể xác nhận hoặc từ chối rằng nuking đề cập đến việc sử dụng "tiện ích" 5642 + HVPS vì lý do pháp lý. Tuy nhiên, nó đã hoạt động nhiều lần và kỹ thuật này được biết đến khi tôi xuất bản nó trên HaD, v.v.
Câu hỏi hóc búa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.