Thread: unbrik kindle3
View Single Post
Old 03-31-2012, 01:26 AM   #37
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by knc1 View Post
It may not be time to give up on this question just yet since these things may eventually wear out.

The machine in question here is the K3, which uses a Samsung KLM4G1EEHM, eMMC chip.

Paraphrasing Samsung here:
The embedded flash management software of the chip's on-board controller manages Wear Leveling, Bad Block Management and ECC.

Ref:
http://drpbox.knetconnect.com/k3/KLMxGxxEHx.pdf
Page 4, Paragraph 4, First Sentence.
__________________
Notice: This post has not been pre-approved by GeekMaster.
Please keep your snide and snarky remarks to yourself.

Spoiler:
I clearly mentioned that I obtained my information from the GPL software for the K4 and Touch, and the Freescale Reference Manual for the iMX50 SoC. The GPL software is rather generic so that it can handle a variety of different hardware. It may be doing functions in software that COULD be done by some specific hardware, and it certainly DOES have code to support software bad block mapping and error correction, but as I mentioned previously, the SOFTWARE lacks support for write wear levelling. I did NOT say that the HARDWARE has no write wear levelling, and I am glad to see that it does at least have rudimentary STATIC write wear leveling.

But once again you seem to be missing the point, and concentrating on finding fault with what I say.

What is IMPORTANT here (as I mentioned before) is that whether or not the kindle has or uses write wear levelling DOES NOT MATTER because the FORMAT of the USB drive is vfat, which has ITS OWN bad block handling that does not have the severe limitations of hardware bad block mapping and write wear-leveling. If you format WITHOUT the "quick format" option OR you run CHKDSK on it, you can detect and map out bad blocks.

I have written DEVICE DRIVERS for mmc (and MANY other devices, which your wimpy internet research will not find), and I have studied the specs for many devices. I understand this stuff and I use my knowledge professionally. Spec sheets and reference manuals CANNOT BE TRUSTED. You MUST refer to the reference SOURCE code to know for sure how devices are being used. Many documented features are not effective and require software assistance or workarounds (in MANY devices). These details are buried in the kernel drivers and thankfully can be ignored by most applications programmers. But because you SEEM to think it is important and relevant to this discussion (at least for your apparently destructive purposes), I will go a little deeper into how this stuff actually works.

Hardware write wear leveling is ONLY effective when most of the drive is EMPTY from a SECURE ERASE operation on the ENTIRE DEVICE. Controllers do not generally understand the high level format. After a block has been written, it is a USED block, and deleting files from a PARTITION does not free those blocks at the controller level. Write wear levelling can only move data to blocks that have NEVER been written to since the last secure erase operation. Only advanced SSD devices and advanced operating systems (like Windows 7) have TRIM support that allows the device controller to know when a high-level erase block can be reclaimed as free at the low level (so that it can AGAIN be used for write wear leveling), and that is obviously lacking in both the MMC devices and the firmware in the kindles.

With no TRIM support at both hardware and software levels, a software format (either quick or slow) DOES NOT FREE ERASE BLOCKS AT THE HARDWARE LEVEL! The downside of this discontinuity between low-level and high-level erased blocks is that after all blocks of an mmc device have been written (even after reformatting), those blocks cannot be used for write wear leveling, which effectively DISABLES write wear leveling rather quickly if you ever put a lot of content on your device. This is why bad block support in the vfat format is so important for mmc devices, but you must actually do a thorough scan for bad blocks during your format for that to be effective, and that is not being done by the kindle startup routines that format the mmc USB drive. You *could* do it from Windows on a mounted USB drive though (and perhaps should do that, especially when experiencing problems as described in this thread).


Last edited by geekmaster; 03-31-2012 at 11:05 AM.
geekmaster is offline   Reply With Quote