+1 (713) 263-3776 | Sales Toll-Free: (855) SELL BPM | 24/7 Service: +1 (832) 617-5702
Bring your mission-critical programming in-house for less than the cost of outsourcing AND maintain control of your IP

Bring your mission-critical programming in-house for less than the cost of outsourcing AND maintain control of your IP

From a time, cost and personnel perspective, it’s easier than you think

Moore’s law1Moore’s law is the observation that the number of transistors in a dense integrated circuit doubles about every two years (see https://en.wikipedia.org/wiki/Moore%27s_law) states integrated circuits double in both speed and number of circuits roughly every two years. As programmable devices become smaller, denser, and more complex, most machines that program those devices have become more expensive, and require experienced technicians to operate, maintain and troubleshoot.

The downside to outsourcing programming are legion: added cost, minimum orders, long lead time, and reprogramming or scrap when data files change. Another danger is protecting your intellectual property. Once your source code leaves the vault in your factory, it is vulnerable to theft 2This is not a concern if you’re using a reputable programming house in your home country or region. If your source code crosses a border, you’re putting your company at risk. Due to current market conditions, companies are increasingly concerned about interruptions in the supply chain, especially for components sourced from Asia.

Until recently, it wasn’t feasible for most Original Equipment Manufacturers (OEMs) with significant programmed device requirements 3A good ball-park for an automated programmer is in excess of 50K devices per month. to justify the cost of bringing programming in-house. Automated Programming Systems (APS) were expensive and complex to set-up, run and maintain. That’s when BPM changed the game.

A short history lesson

BPM Microsystems started making EPROM programmers in the mid-80s. BPM’s Founder Bill White was a student at Rice University, working on his degree in Electrical Engineering. He needed a way to get his code on a read-only chip, and discovered there just wasn’t a good way to do it. So, he built his own programmer. While he was still living in the dorm, he started selling his programmer, the EP-1, by mail order, and BPM Microsystems was born. BPM has a history of simple-to-operate, reliable systems that deliver the industry’s best results.

BPM launched its first automated programmer in the mid-90s: the BPM 4100 was the only universal fine-pitch automated pick-and-place programming system. Compared to today’s machines, it was slower and more difficult to set up (and operated in DOS). Compared to the single-purpose machines of that day, the 4100 revolutionized device programming by combining universal programming technology with universal fine-pitch handling capability.

Holy Grail of Device Programming

The “holy grail” of consistent automated programming results is the Z-axis teach. There are three axes on an automated handler: X, Y, and Z 4Theta is the 4th “axis” which determines the precise orientation of the device (rotation). X (horizontal) and Y (vertical) are easy; a downward camera with a bomb site allows for precise placement on the center of a device. The Z (up/down) is, by far, the most difficult and the most important. Both the pick and place locations, if off by less than the width of a human hair, can cause major problems. Manually-adjusted z-teach can go badly two ways: pick (or place) too high can cause misalignment of the device; place (or pick) too low, where the nozzle comes in contact with the device, can cause micro-cracks. Devices with micro-cracks usually pass the initial test (green light), but can oxidize the sensitive metal film causing devices to fail in the field.

BPM is the first to solve the Z-axis conundrum with a patent-pending solution called WhisperTeach. It utilizes hardware and software to turn the device nozzle into a sensor. Without coming in contact with the device, the automated system detects the height of the device to within 15 microns (4 times finer than a human hair) and automatically completes the “teach” in less than 8 seconds. A trained technician, although not as accurate as WhisperTeach, can teach a single location in about a minute. On a single job set-up, the difference in time is dramatic: WhisperTeach set-up is usually around 5 minutes; manual teach can take up to 45 minutes to an hour. When you add the loss of productivity to the reduction in precision, things can quickly get dicey. Regardless of which programmer, pick-and-place systems are incredibly repeatable: if the teach is off by a little, the pick/place will be consistently off as well.

WhisperTeach is available on all BPM automated systems, not just on its high-end systems.

Bringing it Home

Since about 2010, the strongest market segment for Automated Programmers has been Automotive suppliers. Automotive suppliers have an ever-increasing need for programming as cars become more complex and technology-driven. They also often require 3D inspection and laser marking to ensure consistent quality and to track inventory. Big projects, with millions of programmed devices, make device programming in-house a no-brainer.

Smaller OEMs, while perhaps having many of the same needs as the Automotive guys, were constrained by limited resources. As their programming needs outgrew their ability to produce on manual systems, the only option was to outsource to the programming houses or ship their component manufacturing off-shore.

Then came the perfect storm of 2019: a crippling trade war, followed by a growing pandemic.

OEMs recognize the risk in outsourcing critical components, such as programmed devices, to off-shore suppliers. They are looking more closely at options that reduce their reliance on forces beyond their control in a way that reduces costs and speeds go-to-market.

BPM has a history of innovation; they also have a reputation as the “luxury brand” in device programming– feature-rich, and pricy, especially when compared to low-cost Asian machines. That changed with the launch of the 3901, the lowest cost full-featured automated system with vision centering 5Precisely center the device (even if the operator is slightly off) and affect the theta spin while traveling to the site location, which delivers incredibly precise placement without the need to slow down and true universal support 6Only BPM has the same site technology, same software, same sockets and algorithms in all of their 9th Generation programmers. With over 35,000 supported devices, including the most difficult and mission-critical, no one in the industry comes close.. The 3901 starts at under $90,000 with a maximum configuration of 16 device sockets7Sockets are specific to the device they program and act as the bridge between the device and the programmer.

Within 10 days of the 3901 launch in October of 2019, the first machine sold to a telecommunications OEM in the Northeast US. The second soon sold to a Midwest heavy equipment manufacturer. Both companies needed an affordable system that can supply their catalog of programmed devices to their lines. The 3901 quickly became the fastest-selling automated system in BPM’s 35-year history. Equipment manufacturers, especially those in North America and Europe/Middle East, finally have a lower-cost option for their device programming needs without sacrificing quality and capability.

With the launch of the seven-site 3928 in November 2019, companies have access to automotive-level quality (available 3D inspection) with up to 28 sockets in a fully-loaded system that starts at just under $110,000.

Hot buttons for OEMs

  • Faster time to market– go from prototype to production in weeks, not months.
  • Expand vertical manufacturing capability
  • React to design changes quickly– tweaks in code can be updated to the workflow in just a few minutes
  • Intellectual Property physically protected from theft 8This is one of the reasons BPM has maintained a technology advantage over their competitors. The “secret sauce” source code stays locked at BPM’s campus in Houston, Texas USA, where they still build all of their systems.
  • Don’t have to shut down the line due to supply chain issues with programmed devices
  • Device programming is easier than ever before; Installed and operational in less than one week
  • Manual programmers can provide 10s of thousands of devices per year; when demand exceeds manual capacity, it’s easy to migrate to an automated system (same sockets, software, no need to redo first article, etc.)
  • One high-speed universal platform can support millions of devices per year, at an incredibly low cost per device
  • As demand increases, it’s easy to add additional sites for more capacity. If additional capacity is needed, add additional shifts without needing highly skilled technicians
  • Lower cost solutions (3901, 3928) provide the greatest value in the industry. ROI in months, not years.


You can’t control world events– what you can do is provide your manufacturing team with an uninterrupted supply of high-quality, low cost programmed devices. To find out more about how BPM is changing device programming for OEMs, please call us at +1 (713) 263-3776, or Toll-Free in the US: (855) SELL BPM. Ask us about the industry’s only self-installation for APS that’s fast, easy, and free.


Signal Integrity

Signal Integrity

Signal Integrity

A “green light” doesn’t always mean the part is programmed correctly

High quality signals, Examples: Free-Running Clock (200MHz)

Have you ever had an electronic item that sometimes glitches or just stops running? Yes, you checked the batteries; it’s plugged into the wall— yet, nothing. It may not be you… You may be experiencing amnesia.

When a device loses its pattern, it’s called amnesia. Sometimes it’s called a bit-flip. It may start with just an occasional failure to boot up, but then progresses until the gadget won’t work at all. To understand how this can happen, let’s talk about how data is actually stored. 

It may surprise you, but device programming is actually (more or less) analog. The basic building block of all code is a bit. Bits form bytes, and bytes form the foundation for most code. Bits are “1” or “0”, but to get that “bit” of information, we actually start much smaller—electrons.   

When programming a flash device or MCU, every bit we store in the device is stored on a floating gate MOSFET transistor. The floating gate transistor, which is the basis of every flash device, is inherently an analog device. To get a “1” bit means it has more than a certain number of electrons stored on the gate; a “0” bit means it has fewer than that certain number. In between the “0” and the “1” lies a region of uncertainty— where the bit is going to read as a “1” sometimes and a “0” other times (not good).

Electrons are lost during the years that the device is in service due to ionizing radiation, such as gamma rays (even normal sunlight). If there are not enough electrons stored on the floating gate during programming, the device can lose its memory prematurely. 

Device Life Depends on Signal Integrity

Most devices today are rated for 20 years of data retention. But, if not properly programmed, data may be lost after just a few hours, months or years, even if the device passes the initial “green light” verification.

Programmers must go to great lengths to ensure signal integrity when programming devices. It requires specialized hardware that is typically not found in less expensive programmers. The acid test— can the programmer program and test the most challenging devices, such as the AMD PALs, which are notoriously “challenging,” or antifuse FPGAs, where a single device can cost upwards of $100K each. In programming devices, it’s vital to meet every specification of the device being programmed to avoid bit flips. 

Controlled impedance traces on the PCBs are critical to signal integrity. Controlled impedance is the characteristic impedance of a transmission line formed by PCB conductors. It is relevant when high-frequency signals propagate on the PCB transmission lines. Controlled impedance is important for signal integrity: it is the propagation of signals without distortion.  Boards should be thoroughly tested in-house on a high-dollar oscilloscope before manufacturing. Not all of our board vendors make the grade. The problem gets down to overshoot and ringing, undershoot and rise times, and noise on these edges, set up and hold times— all these specs have to be met, or the quality of the part may prematurely degrade. 

Older Tesla Models are Wearing Out

According to a recent article in EE Times, the embedded NAND-based eMMC memory found in older Tesla Model S and X units are wearing out and bricking the in-vehicle displays. With the Flash memory down, drivers no longer have access to some of the vehicle’s features, including climate control, autopilot, and lighting control. While owners can still technically drive the affected electric vehicles, they will not be able to charge them, effectively making the cars inoperable. This has been exasperated by the in-vehicle displays getting frequently updated, which is wearing the chips out prematurely.

The Green Light

The green light on the socket indicates the programmer was able to verify the part. Unfortunately, it may not mean the programmer is meeting all of the device requirements. Waveform integrity has to be verified with an oscilloscope, not just the green light — it’s about meeting the specs of the device with clean waveforms for maximum quality and life expectancy. 

Each part you are programming was tested and qualified on a “million-dollar” tester at the Semi House to ensure it works correctly. The device manufacturer guarantees the part will work if you meet the parts specifications. They do not test the part to ensure it will work with overshoot, ringing, ground bounce, VCC noise, ground noise, crosstalk, substrate noise, low edge rates, no bypass capacitor, setup violations, hold time violations, shorter than required programming pulses and other signal integrity problems.

When a device is programmed with inferior waveform quality, it effectively becomes a “test pilot.” How long will the data be retained? Nobody knows. It has never been tested and qualified in those conditions. Even if it passes today, that doesn’t mean it will continue to work in-circuit, with variations in voltage, temperature, timing, and the inevitable decay caused by continual bombardment from solar and terrestrial radiation sources. 

One more thing to look for is “hard gold” on the PCBs. Hard gold is an extra layer of quality to ensure low resistance contacts, especially on socket cards connections between the PCB and socket. It also ensures solder connections that won’t oxidize.


The Bottom Line

  • Many cheap programmers are available that don’t pay attention to signal integrity
  • Just getting the green light on is not the same as programming the DUT correctly. It does not ensure good signal integrity.
  • When you don’t meet the device specs, you become a test pilot. You are operating the device in conditions it has never been tested to handle. Your results are unpredictable.
  • Devices can get amnesia days, months or years after programming if the programmer has poor signal integrity
  • Programmers with 2-layer boards, dip adapters and no active circuitry by the socket are highly suspect 

To Ensure Signal Quality

  • Pin drivers  must be are accurate enough to meet the stringent demands of eMMC programming at HS400 with 600ps rise time and fall time
  • Utilize premium 3GHz controlled-impedance connectors on every socket adapter 
  • Design using controlled impedance multi-layer PCBs right up to the socket to maintain signal integrity
  • Test the waveform accuracy and impedance of circuit boards to ensure signal integrity
  • Sophisticated Oscilloscope tests should be used to confirm performance, rise time and signal integrity


Not all programming solutions are the same. If quality and maximum device life are important, it’s imperative to know what to look for. When evaluating a programming solution, ask about signal integrity. Go through the device specifications and demand evidence that all of the specs are being followed.
Are Market Forces Beyond Your Control Keeping You Up at Night?

Are Market Forces Beyond Your Control Keeping You Up at Night?

It may be time for OEMs to bring device programming in-house

Since 2010, the strongest market for Automated Programmers has been automotive suppliers. Smaller OEMs, while having many of the same needs as the Automotive guys, are more hampered by limited resources. As their programming needs outgrow their ability to produce on manual systems, the only option is to outsource to the programming houses, or ship their component manufacturing off-shore.

Then came the perfect storm of 2019-2020: a crippling trade war, followed by a growing pandemic.

OEMs recognize the risk in outsourcing critical components, such as programmed devices, to off-shore suppliers. They are looking more closely at options that reduce their reliance on forces beyond their control in a way that reduces costs and speeds go-to-market.

Hot buttons for OEMs

  • Faster time to market– go from prototype to production in weeks, not months. 
  • Expand vertical manufacturing capability
  • React to design changes quickly– tweaks in code can be updated to the workflow in just a few minutes
  • Intellectual Property physically protected from theft
  • Don’t have to shut down the line due to supply chain issues with programmed devices
  • The solution is available– from P.O. to programming in days, not months

See what a telecommunications OEM in the Northeast and a Midwest heavy equipment manufacturer did to ensure an uninterrupted supply of high-quality programmable devices to their lines. Discover for yourself a lower-cost option for your device programming needs without sacrificing quality and capability.

CSP Device Programming Strategies for the C-Suite

CSP Device Programming Strategies for the C-Suite

CSP Device Programming Strategies for the C-Suite

By Srivatsan Mani, former Director of Engineering, BPM Microsystems, Inc.
Originally published in Vol. 18, No. 2 of Global SMT & Packaging Magazine

Good things come in small packages, but small packages can be tricky and costly to handle. The trend for higher density devices and smaller package sizes creates a unique set of challenges for the programming centers and manufacturers programming those devices. A light puff of air sends small parts flying, and misalignment of less than .2mm creates placement issues. This article shares best practices decision makers should consider when purchasing or upgrading production equipment to program small IC devices to maximize speed, quality and cost savings. 

The rise in demand for small device packages

Mobile phones, PDAs, and other mobile products continue to take on new roles such as digital camera, video camera, and TV receiver. These functions require an increased number and greater variety of semiconductors in order to operate, while consumers want their finished products in ever-smaller form factors. Thus, as mobile phone sales have soared, demand for the chip-scale package (CSP) has increased faster than any other IC package type over the past decade or so. The demand for smaller packages with higher densities affects other segments including automotive, industrial, medical device and Internet-of-Things. As the need for complex electrical circuits increases, programmed devices are developed in smaller and smaller packages to free up much-needed space in circuit design. As a result, programming centers and manufacturers are moving towards purchasing or retrofitting existing pick and place machines that are capable of programming such devices with little or no device failures.

Manufacturer challenges handling small devices

Pick and place errors account for the majority of quality issues when programming small devices. Pick and place inaccuracy occurs when the machine is not taught precisely or is inaccurately placing parts due to unaccounted longer x-y axis settling times before a place. Teaching the z-height for a machine manually is nearly impossible for small devices, and for larger devices, operator skill and experience are required. Programming centers and manufacturers incur added costs for labor, machine idle time, lost devices, damaged devices, escapes, and poor yield.

Process control improvements

Automated IC device programmers lift and move devices using a vacuum nozzle attached to a robotic machine to perform repetitive operations. The negative pressure lifts the object and holds it against the nozzle while moving it to the desired location and then setting it into place. However, very small objects, such as small computer or digital chips, including Wafer Level Chip Scale Packaging (WLCSP), small-outline transistors (SOT), and dual-flat no-leads (DFN), may be lifted by the nozzle prior to contact by the nozzle with the object. The vacuum may cause the object to “jump” up to the nozzle.

Operators using process control software teach the robotic machine the height of the object before it begins repetitive production operations. When setting up a job, operators use the process control software to teach the robotic machine the location (x, y, and z) of the input media, output media, peripherals, and programming site and socket. To teach z-height, the operator depresses the nozzle on the handler until it just touches the device. With IC device packages getting smaller, reaching .305mm thick and sizes of 1.7mm x 1.4mm, manually teaching the z-height of the device into the socket is nearly impossible. An operator cannot clearly see deep into the socket to see when the nozzle touches the device. With a flashlight and the assistance of a co-worker, multiple attempts and adjustments occur to determine the z-height.

During a teach cycle, the jump by the device causes the height to be measured incorrectly by the robotic machine that moves the nozzle. Subsequently, during repetitive operations, this incorrect height causes the machine to attempt to pick up the object before making contact. This leads to pick and place errors, dropped parts, cracked parts, and continuity errors. If alignment is off by even .2mm, the teach process must be repeated to avoid cracking or otherwise damaging the device.

Customers report manual teaching small devices takes up to 30 minutes per station. For programming centers with five changeovers per day, this costs 2.5 hours machine idle time plus the costs of labor and lost or damaged devices. Programming centers and manufacturers should consider process control software and equipment with automated teaching capabilities for small parts. For example, BPM Microsystems WhisperTeach™ automates the task for the operator. It completes the task in 4.37 minutes with a standard deviation of 0.5mils, resulting in a savings of up to 25.63 minutes per station or 2.14 hours per day with five changeovers per day.

Accurately taught jobs improve yield by eliminating pick or place errors. Customers have reported yields as poor as 80% on very small parts using manual teach depending on operator skill. Process control software with automated z-height teaching produces a job yield of 99.99% by eliminating any teach related issues.

Production control efficiencies

After completing the job setup and production begins, the accuracy of placement is critical to avoid damaging the device. Manufacturers need to ensure their systems self-calibrate z-height during production to eliminate the need for manual adjustments to compensate for variations in atmospheric pressure, nozzle size, flow rates, filter conditions, and more. This self-calibration by the machine ensures accurate handling throughout the job. In addition to an intelligent process control software and pneumatics systems, look for systems equipped with a high-quality vision system to ensure proper alignment of small parts before placement at each station. When integrated with the production software, vision systems allow the machine to align the device while in motion at high speeds.

For small parts, placement accuracy can be a challenge for systems that are unable to settle their x-y motion fast enough. Look for systems with designs allowing them to operate at maximum throughput without having to slow down the system to handle small parts. Customers achieve faster throughput and better reliability with a well-designed motion system.

3D inspection to increase the quality

■ Precise Laser Micromark Measuring .1mm x .1mm.

Manufacturers looking to reduce scrap monitor each stage of the manufacturing process and take corrective action early. Device programming systems equipped with 3D inspection systems identify damaged parts early in the process. This allows manufacturers to take quick corrective action, resulting in higher quality, minimized reflow and lower overall costs.

3D inspection systems provide full device package validation after programming. High-performance systems support the verification of a variety of device packages including BGA, CSP, QFP, TSOP, SOIC, and J-Lead devices. When looking for an inspection system, features should include measurements for coplanarity, bent lead, pitch, width, diameter, standoff and XY errors.

Inspecting the coplanarity on leaded devices, such as the SOT-23 that measures 2.2mm x 2.7mm, ensures you do not exceed the manufacturer tolerance, which can create long-term reliability concerns of the device. The stress from bent leads may cause cracks in the package, reducing resistance against moisture and consequently present failure in the field due to internal corrosion. 3D inspection systems also identify devices with defective or missing balls on a BGA. By recognizing and removing damaged devices before final placement, manufacturers can prevent quality issues that would otherwise escape. This, in turn, improves production yield and process stability.

Laser marking for traceability

Manufacturers must thoroughly implement traceability control to maintain and confirm quality. Marking a device with a serial number, for example, enables traceability to the programming system, the site and even the socket that programmed the device.

Smaller, thinner devices require fine control of the laser power to avoid damaging the device. Additionally, smaller devices require and higher resolution marking capabilities. When purchasing a laser for your device programming system, look for a hybrid laser system that combines fiber and Nd:YAG laser technologies for precision marketing quality. Micromarking information in a limited space requires ultra-fine marketing capabilities, which is impossible with conventional laser marketing systems. Hybrid laser marking utilizes fine laser setting control, resulting in shallower marks, vivid coloration and a lower thermal impact.

By recognizing and removing damaged devices before final placement, manufacturers can prevent quality issues that would otherwise escape. This, in turn, improves production yield and process stability.

A laser with a power monitor control provides high precision calibration of the laser mark, allowing accurate measure and control of laser energy output. The ability to monitor and control the laser power avoids damage to the device and reduces scrap. In electronics manufacturing, device damage affects quality, reliability, and profitability. A hybrid laser is an optimal solution for small device marking applications where it is necessary to eliminate the effect of heat transfer and control the maximum penetration depth while also providing high-contrast micromarking.


Modern electronic products favor higher density devices in smaller package sizes. Manufacturers and programming centers are purchasing or upgrading existing IC device programming systems to support the demands of programming small devices. A unique set of challenges exist to pick the small device out of tape, place it in the socket, program the device, laser mark the device, inspect the device through 3D inspection, and then place it out to tape. All of this needs to happen quickly, efficiently and with high quality. Decision makers need to consider many requirements when selecting an IC device programming system capable of handling small parts. Ensure the process control software and pneumatic system are qualified for small part handling and automatically teach z-height. Look for a self-calibrating machine with a high-performance vision system capable of aligning devices at high speed, on-the-fly, during production to maximize DPH. Systems with well-designed motion systems achieve faster throughput and higher reliability. Invest in a hybrid laser with power monitoring controls and micromarking capabilities to ensure device traceability. Finally, select a 3D inspection system that performs full device validation after programming, including checks for bent leads and defective balls, for quality and lower overall costs. Following these strategies will ensure your IC device programming system handles small devices with the speed, quality and overall cost savings required for modern electronics manufacturing.

Link to original article

Originally published in the February 2018 edition of Global SMT & Packaging 



Former Director of Engineering

Srivatsan Mani was the Director of Engineering who works with electronics manufacturers and programming centers to innovate solutions that modernize and improve their businesses. With more than 16 years of experience working with device programming systems, process control software, and device programming technology at BPM Microsystems, Inc., Srivatsan knows how to leverage technology to speed up the process while producing higher quality products at lower overall costs. Srivatsan led the development of the award-winning VectorEngine™ site programming technology, patent-pending WhisperTeach™ automated z-height teaching solution, and BPWin™ process control software. Srivatsan holds a degree in electronics and communication engineering and masters in computer systems engineering.

Signal Integrity

Mastering eMMC Device Programming

How to Maximize Speed, Quality and Cost Savings


Exceptional products start with exceptional programming. Mass programming is one of the important stages in the final product build and release.

This white paper shares information to help engineers involved in the industry of eMMC device programming. It summaries the basic specification that all eMMC devices follow including device architecture, bus protocols, modes, data read/write, and production state awareness.

The white paper also lists the criteria decision-makers should consider when evaluating the effectiveness of their Universal Programming equipment. The quality and efficiency of programming equipment affect the quality and cost of the final product as well as time to market.


Over the past decade, the demand for high-density, nonvolatile memories with a small footprint has increased dramatically. Two of the most popular markets driving this demand are handheld devices and automotive. Demand for handheld devices continues to drive the research for high-density, low power, low-cost, high-speed, nonvolatile memories while maintaining a small footprint. NAND-type flash memory is the perfect match for such a market. The increased consumer demand for high-tech features in automobiles, such as infotainment systems, is also a big driver of demand for high-density NAND-based devices.

Flash memory is a solid-state, nonvolatile storage medium that can be electrically erased and reprogrammed. There are two types of flash memory, NAND and NOR, named after the NAND and NOR logic gates. NAND flash memory was introduced by Toshiba scientists in 1987 [1] and can be written and read in blocks. NAND flash memory was not fully utilized until recently due to its low reliability. Early NAND flash experienced bit flips, the possibility that some programmed bits read back as zero while previously programmed bits read as one, or vice versa. Bit flips introduced bad blocks over the service life of the device. With the advances in research in Error Correction Codes (ECC) [2][6][7], along with implementing new Bad Block Management (BBM) schemes [3][7], engineers were able to better detect and correct bit flips. This increased the appeal of NAND flash memory and allowed it to dominate over its more-expensive rival, NOR flash memory.

The inevitable use of ECC and BBM schemes with “RAW” NAND devices leads to increased complexity when handling these devices. To avoid such difficulties, and reduce the design and time to market cost, the trend shifted to the use of “managed NAND devices”. The typical architecture of any managed NAND device includes a raw NAND memory, which is the main storage media, plus a microcontroller [5]. The microcontroller acts as the interface between the host and the raw NAND memory. It does all management tasks such as bad block management, error detection, and correction, wear leveling, and more. This helps hide the complexity of these heavy lifting tasks and frees the host (and hence the designer) to focus on application-specific tasks. Furthermore, both customers and programming houses do not need to research and provide details (and sometimes example codes) for specific ECC or BBM schemes. These are many times not easy to obtain and are IP protected. Examples of managed NAND devices include Solid State Drives (SSD), Universal Flash Storage (UFS), Secure Digital (SD) cards, and Embedded Multimedia Card (eMMC) devices.

The focus of this paper is on eMMC devices. It begins with a brief overview of the eMMC device architecture, followed by sections explaining different protocols, speed modes, and write modes supported by these devices. A section discusses the new specifications and “production state awareness” feature introduced in recent JEDEC specifications version 5.0 and later. The paper concludes with the top five tips programming centers and decision-makers should consider when purchasing high-quality programmers for programming eMMC devices.

eMMC Architecture

Embedded Multimedia Card (eMMC) devices follow a standard prepared by JEDEC and the MMC Association. This standard, widely known as JEDEC specs, defines the eMMC electrical interface and its environment and handling [4].

Figure 1 provides an overview of the eMMC system and the interaction between the host and device controller. The eMMC communication protocol may use up to 11-signal bus (clock, command, data strobe, and 1, 4, or 8 data bus). [4]

Figure 1. eMMC System Overview [4]

Figure 2 provides an example of partitions and user data area configuration. Upon shipping from the factory, the eMMC device consists of a user data area to store data, two boot area partitions for booting (Boot Area Partition 1 and Boot Area Partition 2) and Replay Protected Memory Block Area Partition (RPMB) to manage data in an authenticated and replay protected manner. The size of the boot area partitions and the RPMB areas are defined as multiple of 128 KB.

Figure 2. Example of partitions and user data area configuration [4]

To achieve high densities while maintaining a small footprint and lower cost per unit, NAND flash can be built using multi-level cell (MLC) flash memory. In MLC, a memory cell can store more than 1 bit. This normally creates negative effects on the chip lifetime since the risk of more bit flips could occur and decrease the number of Program/Erase cycles before the cell fails [6]. Since the boot area partitions and RPMB area are designed to hold sensitive data, these are shipped from factories in an enhanced state, also known as single-level cells (SLC). If needed, the user data area can later be enhanced. Moreover, up to four General Purpose partitions can be created, and the size and state of these areas can be adjusted by writing to a register called Extended Device-Specific Data (ECSD) register.

Bus Protocol

As described in the JEDEC specification [4], the communication between the host and the device follows a message-based bus protocol. One of the tokens described below represents each message:

  • Command: a command token starts operation and sends serially from the host to device on the CMD line
  • Response: the device sends a response token serially to the host as an answer to a previously received command on the CMD line
  • Data: the data lines transfer data from the device to the host or vice versa. The data bus may be set to 1(DAT0), 4(DAT0-DAT3) or 8(DAT0-DAT7)

Each token is preceded by a start bit (‘0’) and succeeded by an end bit (‘1’). Cyclic redundancy check (CRC) follows the data in each token.

Speed Mode Advancements

The industry has seen significant improvements in the data transfer speeds supported by eMMC devices. Figure 3 summarizes a comparison of the advancements speed modes.

Single Data Rate (SDR)

Legacy eMMC devices support a 0-26 MHz clock speed with maximum data transfer of 26 MB/s. They use the Single Data Rate (SDR) mode to transfer data. In this mode, a single bit can be transferred on each data line per clock cycle. Later eMMC devices support a clock speed of 0-52 MHz.

Dual Data Rate (DDR)

The 0-52 MHz eMMC devices supported the legacy SDR mode as well as a newer transfer mode introduced by JEDEC version 4.4 called Dual Data Rate (DDR). DDR mode allows the transfer of two bits on each data line per clock cycle, one per each clock edge. This helps achieve a transfer rate of up to 104 MB/s. In this mode, two CRCs need to be sent after each block of data, one for bytes with an odd number and another for bytes with even number. This totals 32 bytes, instead of 16 bytes in SDR mode, for an 8-bit data bus.


JEDEC version 4.5 introduced support for even faster clock speeds of up to 200 MHz (high-speed HS200). The maximum transfer rate for this mode is 200 MB/s.


Most recently, JEDEC version 5.0 introduced a DDR version of the HS200, known as HS400. The goal of HS400 mode is to achieve maximum data transfer to 400 MB/s.

Figure 3. Speed Mode Advancements

It worth noting that the above speeds do not take into account the overhead of command transfers and the time taken by the device to physically write a block of data to the internal memory or prepare a block of data to be sent to the host during read operation.

Data Read/Write

The JEDEC specification defines different data read/write commands for use with eMMC.

  • The single block read/write – the host reads/writes a single block after issuing a “single block read/write command”
  • Pre-defined multiple block read/write – the host sets the number of blocks to be read/written followed by the multiple block read/write command
  • Open-ended multiple block read/write – the host continues to read/write blocks of data until it issues a stop transmission command

During the read operation, the device sends CRC after each 512 data bytes. In a similar manner, the host sends the CRC after 512 data bytes. If the CRC is correct, then the device sends back a positive CRC status “010b” to the host. Otherwise, it sends back a negative CRC status “101b” and ignores the data sent by the host. Before writing new data to any sector, the device erases the old data.

As described above, the CRC of the customer raw data file to be programmed into the device needs to be calculated. One option is to reformat the data file by embedding the CRC values after each sector. Most programmers have a tool that can perform this operation offline.

Production State Awareness

JEDEC version 5.0 introduces “Production State Awareness” to help avoid possible data corruption during soldering. Activate the Production State Awareness by setting a field in the extended CSD register before programming the part. Only a predefined part of the whole device available space can be supported by this feature.

5 Tips When Programming eMMC

Exceptional products start with exceptional programming. This section outlines the top five considerations manufacturers and programming centers need to look for that affect resource utilization, net throughput, and quality of programming.

1. Use HS400 Mode for High Throughput

Make sure your device programmer supports HS400 mode. To achieve high throughput, programmers need to support the highest possible speed mode currently supported by the device. JEDEC recommends HS400 mode when programming eMMC devices to achieve the highest possible programming speed. Don’t compensate for slower programming times by buying more sockets. More sockets mean higher purchasing costs, more time spent teaching, and higher maintenance costs. Faster programming times allow for fewer sockets, which creates a huge multiplier effect of time and resource savings from teaching and programming to purchasing and maintenance.

2. Ensure Clean Signal Quality for High Yield

It is critical to follow programming specifications to ensure the quality of the final product. One of the signals that have crucial timing constraints in high-speed mode is the clock signal. According to JEDEC, when programming eMMC in HS400 mode the minimum pulse width must be 2.2 ns and the minimum slew rate must be 1.125 V/ns. These constraints must be maintained to achieve the highest possible speed, even if a clock period of 5 ns is used. Make sure all signals generated by your programmer follow the specification for the device. As an example, the high accuracy of the clock generated by the programmer in Figure 4 helps achieve the target transfer at a rate of 2.5 ns per byte, which puts it at the device limits.

Figure 4. BPM 9th Gen Clock in HS400 Mode

3. Purchase Adaptable Socket Modules for Cost Savings

Find a partner who gives you the ability to use existing socket modules for new eMMC programming instead of requiring the purchase of new socket modules. This future-thinking partner will help you smartly manage your budget. Make sure socket modules that support DDR mode also support HS400 mode, so you have high programming flexibility and keep overall costs low.

4. Invest in Automated Programmers for High Volume

To achieve high volume production in a short amount of time, consider purchasing automated programmers. High-density devices like eMMC take a longer time to program, so investing in an automated programmer allows you to increase machine utilization and maximize throughput. Look for an automated programmer equipped with a high accuracy robotic arm and cameras to ensure both accurate and careful handling of thin eMMC devices as well as other CSP devices. This will improve the speed and accuracy of handling devices during the programming process. Some automated programmers are equipped with 3D inspection systems and laser marking systems.

5. One Programmer To Rule Them All

Invest in a device programmer that supports eMMC devices as well as other types of devices. This will quickly save you time and money. A programmer that supports a high-mix of devices gives you the flexibility to program different devices on a single machine. This reduces the machine idle time and setup time between different jobs since there is no need to swap programmers for different devices. In addition, there is a reduction in maintenance and training time, since you only need to train staff on operating and maintaining one machine. Finally, there are cost savings since one universal programmer will be enough to support most, if not all, of your devices. Make the decision to add additional programmers based on capacity, not device support limitations.


This paper shared knowledge about eMMC devices and programming best practices benefitting both engineers as well as decision-makers working in the industry of eMMC device programming.

The paper briefly explained the basic device specification that all eMMC devices follow: such as device architecture, protocols, speeds modes, and read/write modes.

The paper concludes with the top five characteristics to look for when purchasing an efficient eMMC programmer to maximize quality, throughput, and cost savings:

  1. Ensure your programmer supports the highest possible speed mode (HS400 at time of writing this paper)
  2. Ensure your programmer produces clean signal integrity
  3. Ensure socket modules support DDR mode and HS400 mode
  4. Invest in automated programmers to maximize volume
  5. Ensure your programmer supports a high-mix of devices

Download PDF Here


[1] S. Aritome, Kawasaki, R. Shirota, G. Hemink, T. Endoh, F. Masuoka, “Reliability issues of flash memory cells,” Proceedings of the IEEE ( Volume: 81, Issue: 5, May 1993 ).
[2] Affeldt, R., Garrigue, J., “Formalization of error-correcting codes: from hamming to modern coding theory.” In: Urban, C., Zhang, X. (eds.) ITP 2015. LNCS, vol. 9236, pp. 17–33. Springer, Heidelberg (2015). doi:10.1007/978-3-319-22102-12 4.
[3] Priyanka P. Ankolekar, Roger Isaac, and Jonathan W. Bredow, “Independent bad block management for mass storage flash memory arrays”, IEEE Transactions on Device and Materials Reliability (Volume: 10, Issue: 1, March 2010).
[4] Jedec Solid-state technology association, “Embedded Multi-Media Card (eMMC) Electrical Standard (5.1),” [https://www.jedec.org/standards-documents/docs/jesd84-b51]. http://www.jedec.org/standards-documents/results/jesd84-b51, February 2015.
[5] Sandisk, “Design Considerations for SD™ Cards and e.MMC Products”, [https://link.sandisk.com/content/dam/customer-portal/en_us/external/public/cps/collaterals/white_paper/white_paper_design_considerations_v1_0.pdf], 2015.
[6] D. Allred, G. Agarwal, “Software and hardware design challenges due to the dynamic raw NAND market”, EE Times, 2011.
[7] STMicroelectronics, “Bad block management in NAND flash memories” EET Asia, 2014.
[8] Micron, “Bad Block Management in NAND Flash Memory” Technical note TN-29-59, https://www.micron.com/~/media/documents/products/technical-note/nand-flash/tn2959_bbm_in_nand_flash.pdf, 2011.

BPM Microsystems Releases White Paper on Device-Driven Serialization

HOUSTON, TX–June 3, 2013– BPM Microsystems, a leading supplier of device programming systems, announces the release of its latest white paper, titled “Advanced Device Serialization Using an External Serialization Server,” written by software engineering manager Nader Shehad. This white paper explains how modern serialization applications can use a more sophisticated approach to facilitate device programming with Device-Driven Serialization (DDS).

DDS is a communication framework that allows the External Serialization Server (ESS) to communicate bi-directionally with a device-specific programming algorithm running as part of the programming application. This allows the ESS to become part of the programming algorithm and extends the functionality of typical serialization techniques.

“The bi-directional communication framework provided by DDS allows greater flexibility in the External Serialization Server,” said Shehad.  “For instance, the ESS can read device-specific data for logging purposes, control details about the programming operation, and be notified each time the device is powered on or off.  Moreover, a detailed failure analysis can be provided to the ESS to indicate exactly which phase of the program and/or verify operations failed. The ESS could then store this information in a database, send it via e-mail to key personnel, or integrate with other customer systems.”

DDS is a breakthrough in the serialization process that addresses today’s complex requirements of modern serialization. To find out more about Device-Driven Serialization, download the complimentary white paper here

About BPM Microsystems
Established in 1985, BPM Microsystems is a global supplier of electronic device programmers for all applications. The company is the leading supplier of vision-based automated programming systems and sets the standard in device support, performance, ease-of-use, and cost-of-ownership. The company offers a wide variety of device programmers including Universal Programmers, Concurrent Programming Systems® and Fine-Pitch Automated Programming Systems.

BPM Microsystems’ financial statements are audited by Pannell Kerr Forster.


In the device programming industry, serialization is the process of writing unique data to each programmed device. It can be used to program basic numeric serial numbers to a single device address and can also be used to program more complex data such as MAC addresses, encryption keys, GUIDs and randomization seeds to several device addresses on each device…