Welcome, Guest
You have to register before you can post on our site.



Search Forums

(Advanced Search)

Forum Statistics
» Members: 410
» Latest member: carretto
» Forum threads: 406
» Forum posts: 2,074

Full Statistics

Latest Threads
MQTT test
Forum: Software
Last Post: Armin@netPI
October-20th-2020, 08:20 AM
» Replies: 12
» Views: 437
Internet on the fieldbus-...
Forum: Software
Last Post: COswald
October-19th-2020, 01:40 PM
» Replies: 2
» Views: 32
USB to RS485 convetrer
Forum: Software
Last Post: MGharat
October-19th-2020, 01:37 PM
» Replies: 2
» Views: 34
netPI with 32GByte High E...
Forum: News
Last Post: Armin@netPI
October-19th-2020, 08:06 AM
» Replies: 3
» Views: 251
NIOT-E-NPIX-4DI4DO with n...
Forum: Software
Last Post: WalterSchaefer
October-17th-2020, 07:59 PM
» Replies: 2
» Views: 95
Power loss and removing p...
Forum: Hardware
Last Post: Armin@netPI
October-16th-2020, 06:32 AM
» Replies: 3
» Views: 312
Get host MAC via REST API...
Forum: Software
Last Post: Armin@netPI
October-15th-2020, 04:04 PM
» Replies: 3
» Views: 106
USB camera
Forum: Software
Last Post: tad
October-15th-2020, 09:35 AM
» Replies: 4
» Views: 129
Data logger
Forum: Software
Last Post: Jan
October-14th-2020, 03:43 PM
» Replies: 11
» Views: 355
Forum: Software
Last Post: Armin@netPI
October-7th-2020, 08:39 PM
» Replies: 6
» Views: 296

  SD card durability
Posted by: Armin@netPI - October-27th-2017, 05:43 PM - Forum: Hardware - Replies (1)

Before you read on watch this story first: https://insideevs.com/news/376037/tesla-...ory-issue/

So categorize your (containerized) applications how write intensive they are and how they are stressing the non-volatile FLASH storage media used in embedded devices such as netPI.

Critical are those applications writing data at high frequency and volume like databases. But not only the applications could get critical:
Docker daemon for example logs all container's console outputs too. So if you have an application running at debug level maybe outputting tons of text information to the console (even no one would/could read it) will lead to a worn-out-effect easily too.

netPI includes an 8GB Industrial rated micro SD card of type MLC-NAND. Since January 2019 the SD card used comes from company SANDISK(Western Digital) named SDSDQAF3-008G-I. The most critical thing about a NAND FLASH memory is its finite number of erase/program cycles (P/E cycles) also referred to as "memory wear". The wear begins to deteriorate the integrity of the memory until it is becoming unusable in the end. The exceptional thing about netPI's 8GB Industrial SD card is that internally this card is based on an 128GB FLASH memory. The card's memory controller chip in front is just limiting the whole size to a 8GB big window available to the user. You see in the appended product brief that all cards of this type even if it's a 8,16,32,64 or 128GB size share all the same TBW (Terra Bytes Written) value of 384.

Where does this TBW value come from? MLC technology in general has a limit of around 3000 P/E cycles per flash block specified by the FLASH manufacturers used in an SD card (https://en.wikipedia.org/wiki/Write_amplification). The limit per block makes a NAND-flash endurance directly dependent on its overall size, so the bigger the more blocks,  the better. An auto-wear leveling mechanism in the card's memory controller ensures the next erase/program cycle is performed on another flash block and hence distributes them evenly across the medium. So the FLASH is 128GB effectively and the P/E is 3000. Both multiplied results in 384TBW.

10 years life time in theory: There is a MS Excel based lifetime calculator available (from Toshiba, appended) estimating the expected NAND flash life time in theory. Let's suppose you have 1MByte as amount of data to be written every second to netPI's 8GB SD card. Even if 8GB  are just visible internally there works an 128GB FLASH memory @ 3000 P/E cycle as you know now. The calculator comes to a lifetime  of 12.5 years.

Life time in practice: We made tests with the SDSDQAF3-008G-I SD card over 485 days. We brought the card to its limit at a incredible writing rate of 216GB/day and realized the first failure after writing 105TB of data. We wrote in chunks of 1GByte file sizes. So in theory there is 384TB possible but in practice we got less than a third. But where does this effect comes from? This comes from WAF and means write amplification factor Read on here for more information https://en.wikipedia.org/wiki/Write_amplification. So if you think writing 1GB results in writing exactly 1GB then this is ideal but you are wrong. A typical WAF value of an SD card is 3.

If you want to read more information about the SANDISK industrial SD cards read on here: https://static6.arrow.com/aropdfconversi...iginal.pdf

There are two methods in general to increase the durability using your own SD card with netPI:

  1. Increase the memory card size while the NAND technology remains the same (MLC). Rule of thumb: double size, double durability.
  2. Switch to memory cards based on a different NAND technology. Type "pSLC" has roughly 6x higher durability, type "SLC" has 30x higher durability compared to MLC
... so keep an eye on your applications.

Additional information:

You can read out useful information from your SD card in use if you call in a Linux terminal. Replace the ? (usually 7 on netPI) in the command line with the corresponding number found on your system

cd /sys/class/mmc_host/mmc0/mmc0:000?
echo "man:$(cat manfid) oem:$(cat oemid) name:$(cat name) hwrev:$(cat hwrev) fwrev:$(cat fwrev)"

Additionally there are userspace utils available in source code that can deliver further information than provided by default. Call the following commands in a terminal and you get a utility compiled named "mmc"

git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/cjb/mmc-utils/
cd mmc-utils
make install

Use "mmc" with the following command to read out "Card Specific Data" where the ? needs to be replaced with the corresponding number found on your system (typically 7 on netPI)

mmc csd read /sys/class/mmc_host/mmc0/mmc0:000?/
mmc cid read /sys/class/mmc_host/mmc0/mmc0:000?/
mmc scr read /sys/class/mmc_host/mmc0/mmc0:000?/

Attached Files
.xlsx   TOSHIBA NAND Llifetime Calculator March 2015.xlsx (Size: 15.12 KB / Downloads: 0)
.pdf   al-industrial-grade-sd-and-microsd-cards-wpb262-original.pdf (Size: 843.58 KB / Downloads: 6)

  Sealed microSD memory card (no more)
Posted by: Armin@netPI - October-27th-2017, 05:28 PM - Forum: Hardware - Replies (1)

If you open netPI's housing you will notice the micro SD memory card is irreversible glued to its socket. It cannot be removed or exchanged without destroying the device physically.

This measure is part of netPI's security concept and ensures nobody is able to manipulate the system software and guarantees you and us a constant system behaviour.

  netPI RTE 3 schematics
Posted by: Armin@netPI - October-27th-2017, 02:03 PM - Forum: Hardware - Replies (2)

For all those interested in netPI RTE 3 schematics find the correspondent document appended.

Since our netPI design partner company Element14 (Farnell Group) licensed the Raspberry Pi 3 schematics on non-disclosure provisions it is clear that the netPI document does of course not contain the Raspberry Pi 3 schematics part.

Attached Files
.pdf   P1651001.pdf (Size: 475.24 KB / Downloads: 65)

  System Software V1.1.3.0RC3 out now!
Posted by: hilscherforum_admin - Less than 1 minute ago - Forum: News - Replies (3)

Hi there,

yes this is correct. Since netPI - from the initial idea - is just a Docker host platform ready to deploy images/containers from a remote registry resource the image/container original should never be stored on netPI itself.

So even if the conainer are destroyed due to a software update - as you mention - the original containers are available on the registry still and can be pulled to netPI after the update.