eMMC Adventures, Episode 1: Building my own 64GB memory card with a $6 eMMC chip

As seen on Hackaday!

There’s always some electronics topic that I end up focusing all my efforts on (at least for a certain time), and that topic is now eMMC NAND Flash memory.

Overview

eMMC (sometimes shown as e.MMC or e-MMC) stands for Embedded MultiMediaCard; some manufacturers create their own name like SanDisk’s iNAND or Hynix’s e-NAND. It’s a very common form of Flash storage in smartphones and tablets, even lower-end laptops. The newer versions of the eMMC standard (4.5, 5.0 and 5.1) have placed greater emphasis on random small-block I/O (IOPS, or Input/Output operations per second; eMMC devices can now provide SSD-like performance (>10 MB/s 4KB read/write) without the higher cost and power consumption of a full SATA- or PCIe-based SSD.

MMC and eMMC storage is closely related to the SD card standard everyone knows today. In fact, SD hosts will often be able to use MMC devices without modification (electrically, they are the same, but software-wise SD has a slightly different feature set; for example SD cards have CPRM copy protection but lack the MMC’s TRIM and Secure Erase commands. The “e” in eMMC refers to the fact that the memory is a BGA chip directly soldered (embedded) to the motherboard (this also prevents it from being easily upgraded without the proper tools and know-how.

When browsing online for some eMMC chips to test out, I found a seller that had was selling 64 GB eMMC modules for $6 Canadian per pop; this comes out to a very nice 9.375 cents per gigabyte (that’s HDD-level pricing right there!). With that in mind, I decided to buy a couple modules and see what I could do with them. A few days later, they arrived in the mail (and the seller was nice enough to send three modules instead of just two; the third module’s solder balls were flattened for some reason).

Toshiba eMMC Module

Toshiba THGBM4G9D8GBAII eMMC 4.41 modules

Toshiba THGBM4G9D8GBAII eMMC 4.41 modules

The Flash memory I used is a Toshiba THGBM4G9D8GBAII. According to a Toshiba NAND part number decoder:

  • TH: Toshiba NAND
  • G: Packaged as IC
  • B: Vcc (Flash power supply) = 3.3 V, VccQ (controller/interface power supply) = 1.8 or 3.3 V
  • M: eMMC device
  • 4: Controller revision 4
  • G9: 64 GB
  • D: MLC NAND Flash
  • 8: Eight stacked dice (eight 8 GB chips)
  • G: 24nm A-type Flash (appears to indicate Toggle Mode interface NAND)
  • BA: Lead-free and halogen-free
  • I: Industrial temperature grade (-40 to 85 degrees Celsius)
  • I: 14 x 18 x 1.2 mm BGA package with OSP (Organic Solderability Preservatives)

Given the low, low price of the eMMC chip, I had to make sure that I wasn’t given counterfeit Flash memory (often fake flash would have only 4 or 8 actual GB usable, with most of the address space looping over itself, causing data loss with extended usage). This involved find a way to temporarily connect the eMMC to my computer. I had a USB 2.0 SD/MMC reader on hand as well as a laptop with a native SD host interface, so now all I needed to do was break out the eMMC signals on the BGA package so that I can connect it to the reader.

eMMC Pinout… or is it Ball-Out?

There are plenty of pinouts for eMMC on the Internet, but they all show the pinout for a top view. Since I’m not soldering the eMMC to a PCB, I need to get a bottom view. I took a pinout diagram from a SMART Modular Technologies eMMC datasheet, rotated it to a landscape view, flipped it vertically, then flipped each row’s text in order to make it readable again. I then copy-pasted this into PowerPoint and traced out the package and ball pinouts. This allowed me to colour-code the different signal and power lines I’ll need to implement, including the data, clock, command and power lines. Curiously enough, one of the ground pins (VssQ, or controller/MMC I/O ground) was not a ground pin like the standard required; because of this, I decided to leave that pin open-circuit. Additionally, there were several pins that were not open-circuit, but did not have a known purpose either (these are probably used as test pads for the internal NAND Flash interface – perhaps they could be reused as raw NAND with the right controller, but the exact purpose of these pads will need to be reverse engineered).

Toshiba THGBM4G9D8GBAII eMMC pinout (solder balls facing up)

Toshiba THGBM4G9D8GBAII eMMC pinout (solder balls facing up)

eMMC Reader: Take 1 (Failed!)

For the first reader, I cut open a microSD-to-SD adapter, exposing the eight pins inside. I soldered a cut-up UDMA IDE cable and glued them in place. Despite my careful work, I still melted a hole through the thin plastic shell of the adapter; thankfully this did not affect the adapter’s ability to be plugged in.

I used double-sided foam adhesive tape and a piece of perfboard to create a small “test bed” for the eMMC module. Using some flux, solder wick, and a larger soldering iron tip, I removed all the (lead-free) solder balls on the center of the IC and replaced them with leaded solder bumps to make soldering the tiny 40-gauge magnet wire easier.

After bringing out the minimum wires required (VCC/VCCQ, GND, CLK, CMD, and DAT0 for 1-bit operation), I soldered the wires of my quick SD adapter, and plugged it into the SD card slot of a (very old) Dell Inspiron 9300.

Calling this board’s operation flaky doesn’t do it justice. It would fail to enumerate 9 out of 10 times, and if I even tried to do anything more than read the device capacity, the reader would hang or the eMMC would drop off the SD/MMC bus and show an empty drive in Windows. It was clear I had to do a full memory card “build” before I could verify the usability of the eMMC Flash memory.

eMMC in an SD Card’s Body: Take 1 (Success… half of the time)

I had a 16 MB (yes, megabyte) SD card lying around somewhere, but as usual, I couldn’t find it among all the clutter around my desk and workspace. Instead, I found an old, slow Kingston 2 GB SD card that I felt would be a worthy “sacrifice” since it was an older type that still had a thin PCB inside (most SD cards nowadays are monolithic, which means it’s one solid chunk with a few pads exposed). After opening up the case carefully with an Exacto knife, I wiggled out the old PCB. I desoldered the orignal 2 GB NAND Flash, and began work on breaking the SD card controller from the PCB as it was a chip-on-board design. It took a while, but I was able to ensure that none of the old SD card hardware would interfere with my rebuild.

I removed the eMMC from the board I made previously, and tested the thickness of it to ensure that it would fit inside the SD card case. It did, although the 0402 surface-mount decoupling capacitors I intended to install would cause a few bumps to be visible through the thin plastic SD card casing.

With my eMMC and SD card pinouts on hand, I used a small bead of epoxy to affix the eMMC to the PCB, balls-side up. I used magnet wire to connect the data lines (4 wires for 4-bit operation which is the maximum that the SD standard supports), and used the unused pads on the eMMC as a kind of prototyping space where I could install ceramic capacitors as close to the module as possible. I used a 0.1 µF 0402 size ceramic capacitor across the VDDi (eMMC internal regulator) and a neighouring GND pad. The rest of the power pads were wired in parallel with a few extra 0.1 µF capacitors added. I made use of the existing three 1 µF capacitors on the PCB as both extra decoupling and connection points for VCC and VCCQ. To prevent shorting of the inner CMD and CLK pins, I only removed the enamel coating from the magnet wire at the very end so I could solder them but avoid the issue of shorting those pins against the other signal and power lines. I then soldered these wires to the terminals on the other side of the PCB.

After spending about ten minutes wriggling the PCB into the SD card casing without damaging the wires, I used a multimeter to ensure all the pins were connected (use a multimeter in diode mode, with the positive lead connected to ground – any valid pins should read ~0.5 volts), and also ensured that there were no polarity reversals or shorts on the power pins.

Now… the moment of truth. At this point my USB 2.0 card reader still wasn’t cooperating with me, so I tried the only other ‘fast’ reader I had at the time – an SD to CompactFlash adapter.

To my relief, I finally got a (mostly) usable card. It appears this particular model has been pre-formatted with FAT32. Viewing the MBR in Hard Disk Sentinel shows nothing notable, apart from the fact that it’s pretty blank and is indicative that it wasn’t formatted for use as a PC boot medium.

Things began to fall apart after I tried running speed tests, as the card would hang if it experienced a lot of write activity at once. I suspected this was a power supply-related issue, so I modified my layout to add more capacitance. For good measure, I added 56 ohm termination resistance for the DAT0-4 data lines, using a small resistor network harvested from an old dead MacBook motherboard.

After these modifications, performance was much, much better. Now that the card was usable, I could finally run some speed tests.

eMMC in an SD Card’s Body – This time, with more feeling decoupling!

After adding several 100 nF and 1uF 0402-size ceramic capacitors on the eMMC package, I was able to get a stable card that could be read by (most) SD card readers. As I was rather anxious to get a decent benchmark from the eMMC, I decided to forego the cheaper Amazon Prime route, and go to my local PC parts store to buy a USB 3.0 card reader – the Kingston FCR-HS4.

After placing the eMMC and SD card PCB back into its plastic casing, I was relieved to see that Windows immediately recognized its presence. All I had to do then was open CrystalDiskMark and run the benchmark. Drum roll please…

Toshiba THGBM4G9D8GBAII/064G4A benchmark in CrystalDiskMark

Toshiba THGBM4G9D8GBAII/064G4A benchmark in CrystalDiskMark

Although I was happy to get a usable benchmark score, my belief that all eMMC devices inherently had better 4K random I/O speeds than their SD counterparts was immediately busted. My guess is that random I/O wasn’t considered to be a priority until eMMC 4.5 or 5.0, and my eMMC modules are only version 4.41.

eMMC module listed as version 4.41

eMMC module listed as version 4.41

After the speed test, I ran the card through the popular Flash memory testing tool h2testw to make sure that I was not given a counterfeit device.

H2testw showing flash memory is good

H2testw showing flash memory is good

Excellent – it’s a genuine device. Despite the slower performance than expected, I’m happy that the memory capacity is as it should be.

“eMMC identification and CSD data, please”

As is the case with any USB memory card reader, I cannot access any of the eMMC device information (that is, the CID/Card Information Data and CSD/Card Specific Data registers). I took a spare SSD from my collection and got a quick Windows 10 installation running on one of my laptops that had a native SD host interface.

eMMC identified as Toshiba 064G4A MMC

eMMC identified as Toshiba 064G4A MMC

Interesting. The eMMC identifies itself as a Toshiba 064G4A MMC card. Googling that information brought up literally zero information, so it appears I’m the only one to have found (or published) any information about it. Although eMMCs support some degree of S.M.A.R.T. health reporting like mainstream SSDs and HDDs, no (easily-available) software (for Windows at least) is available to read it.

Linux has the ability to report the CID and CSD data as long as the native SD host interface is used, as opposed to a USB card reader.

CID: 11010030363447344100151344014e00
CSD: d00e00320f5903ffffffffef96400000
date: 04/2011
enhanced_area_offset: 18446744073709551594
erase_size: 8388608
fwrev: 0x0
hwrev: 0x0
manfid: 0x000011
oemid: 0x0100
preferred_erase_size: 8388608
prv: 0x0
raw_rpmb_size_mult: 0x2
rel_sectors: 0x10
serial: 0x15134401

With the help of Gough Lui’s CID and CSD decoders, I was able to gain some more information about the eMMC device, but not too much as the information I was originally interested in was already collected by this point.

Out of the Reader and Back Into the (CF) Adapter

Now that I know what the eMMC is capable of, I decided to try putting it back into my SD-to-CF adapter and doing another benchmark.

eMMC in FC-1307A SD-to-CF adapter. Note the limited performance of this chipset.

eMMC in FC-1307A SD-to-CF adapter. Note the limited performance of this chipset.

This test highlights one of the biggest limitations of the FC1306T/FC1307A chipset that so many adapters use: their performance is limited to a maximum of 25 MB/s per channel. Good thing I purchased that USB 3.0 reader…

Conclusion

This was quite the learning experience. I not only learned that eMMC flash memory does not necessarily have the near-SSD performance that the latest devices offer, but I learned how to “exploit” the unused pads of a BGA device as a sort of “prototype area” for soldering small components onto.

Did I save any money by rolling my own Flash storage device? Absolutely not – given how much time I spent on this, if I paid myself minimum wage ($12 per hour where I live), I could have bought at least three higher-performance 64GB SDXC cards with none of the frustration of trying to adapt an embedded memory device as a removable memory card. But where’s the fun in that? 🙂

52 thoughts on “eMMC Adventures, Episode 1: Building my own 64GB memory card with a $6 eMMC chip

  1. Pingback: Roll Your Own 64GB SD Card From An EMMC Chip | Hackaday

  2. Pingback: Roll Your Own 64GB SD Card From An EMMC Chip

    • Hi Hasith,

      I bought these particular eMMC chips from eBay. Unfortunately, that seller hasn’t relisted them since the end of September – I would’ve bought another handful of them knowing they’re legitimate.

      You can still find eMMC on eBay and other sites, but definitely not at a price like that. I have purchased a few other different ones (4, 16 and a much more expensive 64 GB) from Arrow not too long ago.

      Be careful of listings online that mentioned having pre-installed firmware. I haven’t tried an eMMC with pre-installed phone/tablet firmware, but the eMMC partitioning (separate from standard drive partitioning) and configuration process is irreversible and I’m not sure if they have been programmed in such a way. If not, I can simply format the chip and get a fully usable device. I’ll probably buy a couple to experiment on.

      Cheers,
      Jason

      Like

      • Hi are this emmc chips compatible like let say for example Samsung bga153 32gb and let say LG BGA153 64 GB they look identically but does the pins/balls are same output/input?

        Like

        • Hi Popa,

          As far as I know, LG does not manufacture eMMC devices. That said, yes – all eMMC packages share the same pinout. There are larger packages that have extra balls around the main contact pads that only provide mechanical strength, so a smaller device can be placed on that PCB without issue (so a BGA153 will work on a device that has a BGA169 footprint).

          Jason

          Like

      • Hey thank you for reply. Is just a example. However my tablet is death and i would like to replace the the emmc. My actual emmc on tablet is foresee NCEMBS99-32GB and looking to replace with anything even bigger however no support from foresee. Maybe you can help me with a good and compatible chip i would appreciate may be 64Gb and higher too.

        Like

        • If the tablet is dead (and it’s because of a dead eMMC), you may have a difficult time getting the device up and running if the device’s primary bootloader is stored on a special boot partition inside the eMMC. What model of tablet are you trying to repair?

          Googling the part number reveals a BGA169 12x16mm eMMC5.0 device. You can try something like a Toshiba THGBMFG9C4LBAIR (BGA153 11.5x13mm) or a SK Hynix H26M78103CCR (same package as the Toshiba I mentioned).

          Like

  3. hello
    very nice article and good job on the project. I am trying to find pin out on the Toshiba nand and I was wondering if you came across or know how to find because I have searching and searching and I cant find out data-set or pin out on this nand its a emmc TOshiba TH58NVG7D7FBASB. If you come across or can find one please let me know. Thanks again and keep up the good work

    Like

    • Hi Haris,

      Looking at that part number, it looks like that NAND was used in some MacBook Air SSDs. On that note, it’s not an eMMC – it’s just raw NAND Flash. Running the TH58NVGD7FBASB part number through the Toshiba NAND decoder reveals that it is a multi-die, standard 16-bit interface 32nm MLC NAND, uses a 3.3V supply, holds 16GB, is lead and halogen free, is a single/dual-channel device with 4 chip-enable lines, and is a 14mm x 18mm device that is 1.35mm thick, and is a 224BGA package.

      Unfortunately, my searches for a BGA224 pinout have turned up empty, only a couple threads asking the same question about pinouts.

      Jason

      Like

      • Hello Jason
        Thanks for your reply. I have question and was wondering have you ever tried to used NAND from cellphone as USB drive. Like taking off NAND flash memory of old phone and install it on USB drive board and use it as flash drive? I bought some blank flash drive board from web which have ISO902 controller and I tried to solder on NAND memory from dead iPhone but when I plug it in to pic or Mac it does not recognize the flash drive and if I insert flash drive without NAND chip soldered it recognizes the flash drive but since no nand chip soldered on board it does not show on computer. I think it’s controller related issue like controller does not support that lga52/60 NAND if I am right do they have some cross referencing chart like which controller support tjoshiba ,hyxi, or scan disk memory. Like the refrence sheet you have for toshiba memory ??

        Another question have you tried the wafer that has one side like as card contacts and other side which has NAND memory pads on which you can mount lga52/60 or other kind of memory? Do you know like cross over connection for SD card contacts to NAND I was thinking of making a homemade board

        Thanks again for your reply for last post

        Like

        • I have used boards similar to that (in fact I have a few already), but they don’t use raw NAND, just working eMMC.

          These USB boards (and the common controllers they use) won’t automatically work with Flash memory. They require the proper mass-production tool that the manufacturer has for that certain chip. Even the eMMC ones (NS1081-based) still require that tool to write firmware and configuration data.

          Jason

          Like

      • Hi thank you for reply well my tablet works fine but no emmc/drive when try to install windows even android firmware flash fails I have try with some live pen driver software to reformat delete etc . nothing from 32 GB was show only seven now nothing show. So can you please offer me a link where to buy that emmc compatible with mine? Thank you. Also sorry if I writes in wrong comment but I’m on mobile.

        Like

  4. Two questions for when you visit this page in the future:

    How fussy is the wire length (Track timing)?

    Also is the emmc bus 3.3v tolerant or will I have to protect them?

    I am trying out modding a tablet that a failed boot0 on the emmc soft-bricked the UEFI firmware.
    I’ll continue to wire the socket, but not use it until either I hear back or I chance it.
    Thanks,
    Unferium

    Like

    • Hi Unferium,

      I haven’t done any real testing, but I’d reckon you would want to maintain a matched trace length as much as you reasonably can, given that (e)MMC is a high-speed parallel bus interface. The sensitivity to length mismatch would be significant at HS200/HS400 speeds of eMMC 4.5/5.0 and newer.

      The eMMC interface is 3.3 volt tolerant. However, the maximum bus frequency supported is 52 MHz, which means a maximum of 104 MB/s (52 MHz, 8-bit DDR mode). Higher speeds require 1.8 volt logic levels.

      As for modding the tablet, are you trying to add a socket for an eMMC or SD card? If your tablet requires booting from the eMMC boot0/boot1 partitions (unrelated to the software partitions laid out by GPT/GUID Partition Table), this could hinder recovery efforts significantly. What is the make and model of your tablet?

      Regards,
      Jason

      Like

      • Cheers for the reply, especially the tolerance info. 😀

        I have an Alcatel generic x86 windows 10 tablet PC with an easily accessible 32-bit UEFI and setup-GUI (No CSM).

        I tried to clone an eMMC from a cheap netbook I got linux running on to this unit then the Alcatel logo hung without allowing “BIOS” or UEFI shell access.

        The tablet PC un-bricked itself and finally dropped into EFI-shell after desoldering the faulty eMMC.

        So far I’ve soldered in same length enamel copper wire for D0-D3 CLK and CMD. routing them carefully I’ve achieved about 0.6mm difference in length and soldered an SD card holder onto a solder-raised ground plane.

        My hopes are the MMC bus will drive the 128GB (Genuine) SD card and boot the GPT partition… Unless UEFI mapping config was stored on the original eMMC boot0 partition or the card needs to be told to enter MMC mode… I’ll find out after work.

        I have taken pictures, I’ll be uploading them soon on a google-sites page or a blog… Shall I send you the link when I’ve done?

        Like

        • If the UEFI code is stored on another chip (like an SPI ROM) then you may be able to do without the eMMC boot0 partition data – hopefully. The 0.6mm trace length mismatch shouldn’t pose any significant issue, since you may not even be able to reach UHS-I speeds if the SD/MMC controller in the tablet does not support that mode.

          As for posting images on a blog, try out WordPress. I’m still using their free plan, but have purchased a domain and a G Suite subscription for a custom email address.

          Best of luck on the restoration!

          Regards,
          Jason

          Like

  5. Hi Jason,

    Great post. Was just wondering if you ever considered soldering in an MMC body instead of a SD card body in order to make use of all 8 datalines instead of only 4 allowed by the SD. Is it reasonable to assume you’d see double the speed results in this case?

    Regards,
    Joao

    Like

    • Hi Joao,

      I have, but the end result isn’t an SD card – rather, it’s what’s known as an MMCplus card, which formed the basis for the eMMC standard. However, reader support is limited (the only readers I have that have an MMCplus socket with all 8 data lines implemented only support USB 2.0, which negates the extra speed capabilities of the interface).

      Several months back I paid about $185 USD for an eMMC socket that breaks out all of the eMMC pins to an MMCplus card. Although quite expensive, it makes easy work trying to test many different eMMC chips in various sizes (with the correct brackets), and it has already allowed me to recover data from an eMMC that I removed from an old Samsung Galaxy S II smartphone that I killed when trying to upgrade its onboard storage.

      Regards,
      Jason

      Like

  6. RE: the x86 win10 tablet mod discussion as above… It’s an epic fail

    I’ve completed the task of changing the corrupt eMMC with an SD card… however…. The “BIOS” reports the eMMC card isn’t installed. Doesn’t even show in linux (Kernel v 4.10).

    I don’t know how the eMMC chip gets itself detected.

    Suspicions:
    Hard coded chip requirement in ROM/UEFI*,
    Requirement for boot partitions by the UEFI/”BIOS”,
    bad wiring (Checked many times throughout so unlikely),
    an internal eMMC pullup on a higher up DAT# being required by the UEFI^,
    a detect pad (checked that first of all things, so nope)

    ^Problem is I’ve already layered over the eMMC footprint for the SD card holder to seat making modifying >DAT4 harder.

    *note on first suspicion… Linux 4.10 reports, “new high speed SDIO card at address 0001”. I insert a 128GB SD card in the unbootable main (end user, stock) SD card slot and it says the same thing along side allocating “mmcblk2” thus proving at least the internal non-existing eMMC slot has been reserved.

    Don’t know what to do with the tablet as linux doesn’t support the bespoke sound IC or the WiFi and I can’t restore windows on it without the eMMC chip.

    Like

    • Oof, sorry to hear that.

      There could very well be a hardcoded requirement to accept eMMC and not SD cards, as they have a slightly different command set and initialization sequence. It is interesting that you can see the SD card in Linux, though. That said, do you do see it when the card is inserted into the modified SD socket? It would be interesting to try looking at the information in /sys/block/mmcblk0/device directory (or perhaps mmcblk1). If the card is properly recognized, there should be files (name, date, fwrev…) that will be populated with the SD card’s information. I haven’t tested this myself, but I wonder how well some sort of performance test (like a dd transfer to/from the SD card) would turn out.

      As for the eMMC interface, pull-up resistors on the unused lines are not necessary as the specification defines that unused pins will be pulled up, either by internal/on-chip resistors, or on the PCB. There aren’t any dedicated detection lines for eMMC as it is generally expected that a device is present on the bus.

      Does the tablet have a USB host interface? If there is one (USB type A port, or USB On-The-Go cable), perhaps you could try booting Windows 10 Setup from a USB drive. After the “Install Windows” prompt appears, press Shift+F10 to bring up a command prompt; run DiskPart to scan for drives (command “list disk” once it is launched). There may be a need to disable Secure Boot first.

      Occasionally, you can get pre-programmed eMMCs from sites like AliExpress that come with firmware and boot partitions already loaded, but I can’t guarantee that you can find one specifically for your tablet.

      Jason

      Like

      • I’m creating a page on sites google com /site/unferium/w10x86alcatel for this project…. Will not be ready until hopefully over the weekend as I have to ready the pictures (Potato Phone-camera quality warning).
        Try visiting turn Monday if you wish.

        USB:
        This tablet has 2x end-user physical USB ports, OTG mini-USB and the docking keyboard. The docking connection is actually 2x USB ports 1x full size USB and 1x USB data for the keyboard.
        I’m booting a live 32bit-EFI compatible 32/64Bit hybrid Linux/GNU distro via the docking USB for testing.

        Card tests:
        Tried both with the card in and out of the modded slot, Linux reports a card exists but not initialized on the first MMC controller.

        Windows installer:
        Tried diskpart, no-go, tried the load drivers… loads drivers and won’t show the SD card.

        Hopefully that answers most questions,

        P.S.
        I have a 64GB eMMC kicking around that I’ve started to convert to an SD card…
        I might restore windows to that and jump-lead it on deadbug style as I’m useless at BGA for now, however It’ll likely take damage in use as there isn’t much room in the tablet PC. It however, will determine if the UEFI has been hard-coded for the stock chip or not.

        Like

  7. Hi I am also a victim of a Dual Boot OS Tablet (Cube Iwork11 Stylus) suddenly dying on me due to bad EMMC storage. I have read and confirmed this via the forum threads that it has happened to many people. The flash storage used is NCEMBS99 – 64G in the link below

    Click to access netcom_emmc5_0.pdf

    I need some guidance as can I replace this chip. The motherboard pics (where the chip is visible) can be seen in these links :

    https://ibb.co/kGi9Nv
    https://ibb.co/jq4G2v
    https://ibb.co/dpyb2v

    Also can I replace the chip with a 128G chip (as can be seen having the same BGA pinout as 64GB) , and is it necessary to have the same FORSEE EMMC or we can choose another much reliable EMMC brand with the same specs (and possibly greater size).

    Lastly if it is possible, since I am not an expert in it neither do I have the tools for the same. Is there a professional service online to whom I can send the motherboard (or the whole tablet in case needed) for repair. Hopefully the bootloader code shouldnt be hampered by the EMMC replacement.

    I recently bought this tablet and although it seems like a wasted cost, am still willing to do this experiment to revive and reuse the tablet instead of buying a new one.

    Would really appreciate all the guidance and help.

    Like

    • Hi i can replace the emmc also the bios is not affected by the emmc mine is cube i10 i got it working with no problem reinstalled windows 8 and android and worked with out problem. skype me when you can ionutp23 or email at gmail

      Like

    • Hi Faisal,

      A couple weeks ago, I bought a cheap Intel Atom-based Windows 8 tablet that would only boot into the UEFI shell. As it turned out, it had the Foresee NCEMBS99-16G eMMC, which had failed in such a way that all sectors read out garbage, but consistent data.

      I was able to replace the chip with a Samsung 32GB chip with higher performance characteristics, and I had found that the UEFI/BIOS and Windows do not use the boot partitions on the eMMC. I had some 128GB eMMC chips on hand but did not want to use it on a tablet that had only 1GB of RAM installed.

      I don’t do repair services at the moment, but I was able to use a low-cost hot air rework station and some flux to replace the eMMC. I do see that Popa has since replied to your comment.

      Jason

      Like

      • Hi Ginbot,

        Thank you for the reply. The Cube iwork11 stylus has 4GB RAM, so upgrading storage can be a viable option. Can you inform me

        1. Can i replace Foresee NCEMBS99 64G – BGA 169 with any other make/model of 128GB EMMC which has a different BGA pinout. Which 128G EMMC are compatible with BGA 169 socket. The size of the EMMC chip might be different as well, will this be a problem.

        2. Which 128GB EMMC you have and from where can I buy them in case they are compatible and can work with my tablet. In case you have them, can you sell it to me. You can contact me on syed dot faisal at gmail dot com.

        Thanks.

        Like

        • Yes, you can replace the NCEMBS99-64G with any other eMMC in a 12mm*16mm or 11.5mm*13mm form factor. The smaller form factor simply fits in the center of the eMMC footprint – and it’s highly likely that the outline will be visible on the silkscreen for both form factors.

          The 128GB eMMCs I have are the Toshiba THGBMHT0C8LBAIG, and the Samsung KLMDG8JENB-B041. Both are eMMC 5.1-compliant and have very high performance (likely higher than what the eMMC controller in the tablet SoC supports, but you will still likely get up to 200 MB/s speeds). I have bought from both eBay and AliExpress and have had little issue, but experienced long wait times due to international shipping from China (over 2 months in one case). I can’t really sell the ones I have on hand as I intend to put them to use sometime soon.

          Jason

          Like

      • Thanks everyone for the guidance and support. I am now in touch with Popa to find a solution and make headway for my problem.

        Will be posting the progress over here when appropriate.

        Thanks.

        Like

    • I do not have any first-hand experience working with STM32 microcontrollers, so I cannot provide any specific help with your request. That said, what specific model of MCU are you using? Unlike SD cards, eMMC does not have SPI interface support; you’ll either need to use the SD/MMC host interface if the MCU supports it, but it may be possible to bit-bang the MMC interface with a corresponding loss in performance.

      Jason

      Like

  8. Pingback: New top story on Hacker News: EMMC Adventures, Episode 1: Building my own 64GB memory card with a $6 eMMC chip – Tech + Hckr News

  9. Pingback: Building my own 64GB memory card with a $6 eMMC chip – Old Wire Head

  10. Absolutely not worth the time to make your own sdcard but thank you so much for posting this information as it is super helpful for smartphone data recovery of non encryption emmc flash.

    Like

  11. Hi, is this likely to work on a dead 256GB pendrive? Flash controller went bad but seems a shame to waste the two 128GB chips. Maybe I can reuse them on something?

    Like

    • Not in quite the same way as I did this, but you can get cheap USB drive boards from places like AliExpress that you can reprogram with the correct manufacturing tools, or if only the firmware is corrupt on your current drive, you might be able to reprogram the firmware yourself. What are the controller and Flash part numbers on your drive?

      I bought a couple SM2246XT SATA SSD boards and tried to get a couple 32GB Flash chips to work with it. Still trying to get it to format correctly but it seems promising.

      Like

  12. Pingback: Ramble: 2019 in review | Rip It Apart – Jason's electronics blog-thingy

  13. Very good project. It gives some insight to the mystery of eMMC functionality and at the same time its basic configuration. Is it possible to get a circuit diagram so I can start my own project. I am building a eMMC to SD reader and would like to get past the trial and error phase.
    Thanks You

    Like

  14. Pingback: Ramble: 2020 in review | Rip It Apart – Jason's electronics blog-thingy

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.