Notices

X50 / X51 Forums Talk about anything related to the X50 / X51 series.

Reply
 
LinkBack Thread Tools
Old 05-24-05, 06:02 PM   #1 (permalink)
Aximsite Rookie
 
Join Date: May 2005
Location: Calgary, Alberta
Posts: 66
Thanked 0 Times in 0 Posts
Faq

x50V MEMORY FAQ

Some questions seem to be common on the forums, so I figured I would write a FAQ to help explain them

Different Kinds of Memory in the x50v
The x50V can have up to 4 different kinds of memory/(connectors) in it
1. BIS (Built In Storage)
2. RAM/General Storage (Random Access Memory)
3. SD/SDIO (Secure Digitial/ Secure Digitial Input Output)
4. CF (Compact Flash)

Also included are answers to the questions
1. Why is my memory slower on the PDA then on my Camera/Computer?
2. SD vs. CF on the x50V?
3. What’s with my memory benchmarks?
4. How will memory be Managed in Windows Mobile 5.0?
5. Got a question, ask me by PM and I will add it

1. BIS
The BIS in the x50v is 128 Megabytes of StrataFlash ROM made by Intel. This FLASH memory is different then most because it works off the NOR logic instead of NAND logic. NOR memory is lower density then NAND, but has a much more reliable read/write system then NAND. From the viewpoint of speed, any advantage of speed gain for NAND memory is cancelled out by the ECC (Error Checking and Correction) that has to be done to verify that the data is stored correctly). They are basically the same speed

The Windows Mobile Operating system and Dell's built in tools take roughly around 32 Megabytes of the BIS, leaving around 92 Megabytes of available space to the user. Because this space is part of a FLASH memory chip, it is protected against power loss and "soft" reboots, Even performing a "hard" reboot will not clear the BIS.

Overall, the BIS has a fairly fast read speed, but due to its rather low density it handles sequential data faster then more random data. This means things like video's work very well, but is slower on programs that access lots of smaller amounts of data (that may not be organized in a sequential manner). Defragging WILL help read speeds, but remember that with load balancing you are limited to writing the entire ROM 100,000 (or more, that’s the Intel figure) times. Writing on the BIS is slow, its low density and very bus limited (for more on the bus limits, look below)

RAM/General Storage (Random Access Memory)
This is the heart of system, its connected directly to the CPU and functions on the 100Mhz bus without any divider. This memory requires constant power or else its contents will be erased. Programs install here by default typically unless you tell them not too. When you launch programs, they will attempt to allocate a part of the RAM to operate in. Games and high demand programs can require upwards of 25-30 Megabytes of memory, basically half of the RAM.

Try to keep things out of the RAM unless you use them a lot. Some programs (Such as today screen plug-in) are required to be in the RAM, many other program bits (especially windows dll's) will always sit in the RAM. With some tweaks you can move things out of the RAM that are there by default (such as avantgo files) but this typically requires registry edits or a third party tweaking program.

SD/SDIO (Secure Digital/ Secure Digital Input Output)
SD memory is quite small, and is used in many devices like PDA's and Camera's. In the x50V, SD memory is plugged into the top of the unit. This memory is based on the last generation of NAND flash chips, and a SD card is mostly just a FLASH chip with better connectors and a physical lock switch. Its High Density memory, but requires a controller chip within the PDA to do load balancing, ECC, and call translation.

SD memory is generally about the same speed as BIS, but might write a bit faster. From my personal experiences, SD memory performs better with Higher block sizes and Large files, typically the sweet spot is around a 16k block size and 1Megabyte+ files. this makes the SD memory Ideal for storing videos and MP3's

SDIO is protocol added into SD memory cards that allows them to connect directly to the memory bus instead of being connected to the Controller chip (Some cards include both memory and a IO device, and just use the controller chip for the memory). This allows a card to be used by the operating system, adding functionality like Wifi and Bluetooth. Not many more connections have been moved to SDIO because the cards are so small and the cards are restricted to at most a 4 or 8 bit interface.

CF (Compact Flash)
This memory format is the big grand daddy of the FLASH Memory world, its the oldest standard that is still well used. CF cards are bigger and thicker then any other memory, but they also more expandable. The biggest difference other then size with CF cards is that they located the controller chip within the card instead of inside the device. Instead of having a very regulated connection format (like SD) CF cards use a PCMCIA-ATA (used in laptops, very similar to connection format widely used in hard drives) Connection. Because the on card controller can be designed specifically for the memory, CF typically has more reliable writes then most FLASH cards. In addition, because the PCMCIA-ATA format is very well understood by hardware manufactures every device under the sun has been ported to CF

CF memory is typically slightly slower reading then BIS, has faster write speeds. From my personal experiences, CF memory performs better with Lower block sizes and Smaller files, typically the sweet spot is around a 2k block size and 64k files. This makes the CF memory Programs and program data files. Unlike with SD and BIS, sequential performance is lower with CF, and burst/random access, especially of smaller files, is great.

IBM and Hitachi (plus some others) also make Micro Drives, which are small hard drives that fit into a Type II CF card (5mm thick versus 3.3mm for type I) These drives can be damaged alot easier then CF FLASH memory, but generally are a lot cheaper per Mega/Giga byte. Neither is going to give you significantly faster speeds on the x50V, and the MicroDrives will consume more power.

Why is my memory slower on the PDA then on my Camera/Computer?
This problem is a result of the dreaded DMA Issue
On your PDA the RAM is shared between temporary storage (real purpose of RAM) and programs (on a RAM disk). The Ram is connected directly to the processor with a 100Mhz bus. The processor can load memory from the RAM into the L1 and L2 caches (very fast, but small memory inside the processor) in micro or nanoseconds. This is the exact same principle of how your computer works, and why the RAM disk is so fast.

Long ago (before the 386) computer users faced the same problem as we do now with slow access speeds, their modems and disks just seemed so much slower then the RAM available. A solution was created called DMA (Direct Memory Access).
The conventional way to read a floppy disk/flash disk, and the way that the x50v uses for BIS, SD, and CF consists of:

(CPU generates request)=> Bus=> Device Controller Chip=> Raw Storage=> Device Controller Chip=> Bus => CPU/Cache => Bus =>RAM (this repeats till all data is loaded) => Bus=> CPU=> Stuff Done

Notice how the Bus is involved here four times, and more importantly that the CPU has to act as a ferry for the information. This whole process works great, but it depends heavily on the bus and processor speed and bandwidth, making it typically quite slow. (This process is sometimes called PIO transfer mode, and hardware is still programmed to fall back to it). The CPU on the x50v is 624Mhz, and the Bus 100Mhz, but when you are trying to multitask and the CPU is busy, transfer speeds nosedive. The bus can also saturate which reduces speeds.

DMA solves the problems with PIO transfers by reducing the CPU and Bus involvement to a minimum. The DMA controller has a set number of channels (4 per chip, most older computers have 2 chips, newer ones 1) that hardware can allocate for direct transfers from a device or IO port to the memory. The DMA controller takes 1 channel for the connection between itself and the CPU. Modern DMA functions like this:

(CPU generates request)=> Bus=> DMA channel=> Device Controller Chip=> Raw Storage=> Device Controller Chip=> Bus => RAM=> Bus=> CPU=> Stuff Done.

This allows for much higher data transfer rates, and is a very important part of a multitasking computer.

Until PDA's have a DMA controller, transfers between anything other then RAM or other processor linked devices (such as the 2700G graphics chip) will remain slow.

Why hasn’t Intel etc added DMA to the PDA? (Intel made of the first DMA chips) the need really did not arrive for DMA until about 4 years ago. Most early handhelds that used Windows CE were designed to be portable and cheap first (DMA costs money for the chip as well as bus connections. Windows CE devices were built on the principle that they had a read only ROM (or slow write/fast read FLASH) and fast RAM. With the PDA explosion, the demand for DMA is apparent now, but there are significant hardware and software changes that would have to be made to introduce it. At least some form of DMA will be added, epically with the huge explosion of sizes of compact memory

(What’s with DMA now? not related to x50V) DMA today is still used, and it has undergone some advancements, hardware no longer locks DMA channels for itself, but creates a RAM <=> IO port bridge using the DMA channel that connects the processor and DMA controller. This means that only old devices like floppy drives and Parallel ports require specific channels. This allows for up to thousands of parallel transfers to exist simultaneously between different hardware components and the RAM.

SD vs. CF on the x50v?
With the DMA issue above, both are very limited to what speeds they can achieve. Also, writing to flash memory requires more power then reading, most devices have current limits on the memory cards to maintain battery life, resulting in hamstrung write speeds. Overall, the pros and cons of SD and CF for the x50V are

CF
Pros
*Cheaper
*Bigger sizes
*Used in more devices
*Handle's smaller files and random access better
*Faster write speed
*Higher number of write cycles
Cons
*Bigger
*Most small cases lack any storage for them
*Slightly lower average read speed then SD
*Lower squencial read speed

SD

Pros
*Smaller
*Faster access to larger and sequential data
*Most cases have space to store extra cards
*Used in many other PDA’s
Cons
*More expensive
*Easier to break
*Lower number of slower write's

My General recommendations for memory choice are below:
If you own one of SD or CF USE it, and if you have a camera that uses one type, do not buy memory for just one device. (Related to this, you can purchase adapters that allow you to put a SD card into a CF slot, giving the x50V two SD slots)

For Most users: Get a SD card, use it to store video's and other media on it, keep programs installed into the BIS

If your BIS isn’t big enough: Get a CF card, load your programs into it (should be slightly faster, and quite a big bigger) and keep using SD for media

Got huge Media Demands (uncompressed DVD or CD images, huge video files, massive databases) :Get a Micro Drive then use your SD for programs.

What is with my memory benchmarks?
There are two kinds of benchmarks, real-world (like Betaplayer) and Synthetic (like Pocket Mechanic). Both can easily be biased, so take both with a pinch of salt. Most people usually consider real-world benchmarks to be more important, as they generally take into account the overall power of the system. They can be hurt easily by one system component slowing down the entire process, but this component will likely hurt the performance of everything else as well. Synthetic benchmarks typically analyze one specific system component using a specialized technique (thus you are always warned about comparing them to anything but themselves). They can provide a much better understanding of what works well, and what does not.

Some issues with difference in benchmarks identified
* Sandisk and Lexar 1 Gigabyte SD cards
Playing video's off these cards generally gets a similar score in Betaplayer but Pocket Mechanic gives the Lexar card a much better benchmark. Some issues with this might be file system and block size. It could be that the Sandisk cards have lower transfer rates for smaller files, but by my recommendations, this is not what should be the ideal usage of SD cards.


How will memory be managed in Windows Mobile 5.0?
Currently Memory is setup on the PDA in the form of
RAM - Split between system memory and a RAMdisk
BIS - Operating system/Program files

Windows Mobile 5 changes this by moving to the more standard setup with RAM simply being RAM, and BIS will act as the full "hard drive" storing all the programs as well as the operating system. Some people are afraid that this will result in massive slowdowns due to the reliance on the BIS because it can be slow, but since most people keep programs in CF/SD, that there will not be a significant change in speed with this system.

Why change it? PDA's are starting to mirror computers increasingly, it makes programming for them easier, and hardware easier to make for them. This change will have the biggest effect that the introduction of magnetic hard drives into PDA's will be seamless, simply replacing the BIS. In addition, this will make a more RAM available to the Operating system and Programs at runtime.

Medevo

(if anyone else has any requests for a FAQ, feel free to ask, but there are already some great ones out there)

Last edited by medevo; 05-24-05 at 07:02 PM. Reason: small error
medevo is offline   Reply With Quote
Sponsor Ads
Old 05-24-05, 06:16 PM   #2 (permalink)
Aximsite Legend
 
Rsaturn9's Avatar
 
Join Date: Sep 2005
Posts: 18,009
Thanked 0 Times in 0 Posts
Great Job:approve: There is another good sticky on this by stoneraven9:approve:
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Rsaturn9 is offline   Reply With Quote
Old 05-24-05, 06:20 PM   #3 (permalink)
tancerman
Guest
 
Posts: n/a
http://www.aximsite.com/articles/ind...laycat&catid=2
I beleive there are some of these questions already answered somewhere in here...
Anyway, good job.
Maybe this can be added to the x50 sections?
  Reply With Quote
Old 05-24-05, 06:21 PM   #4 (permalink)
Aximsite Rookie
 
Join Date: Feb 2005
Location: Va
Posts: 53
Thanked 0 Times in 0 Posts
Good read, thanks.
__________________
My other computer is a dual xeon :approve:
JakeF150 is offline   Reply With Quote
Old 05-24-05, 06:30 PM   #5 (permalink)
mrp04
Guest
 
Posts: n/a
You made a mistake, BIS is not cleared after a hard reset.
  Reply With Quote
Old 05-24-05, 07:01 PM   #6 (permalink)
Aximsite Rookie
 
Join Date: May 2005
Location: Calgary, Alberta
Posts: 66
Thanked 0 Times in 0 Posts
Originally Posted by mrp04
You made a mistake, BIS is not cleared after a hard reset.
That one slipped by, fixed, thanks

Medevo
medevo is offline   Reply With Quote
Old 05-26-05, 01:19 AM   #7 (permalink)
Aximsite Rookie
 
nparker13's Avatar
DAP Freshman
 
Join Date: Feb 2005
Location: College - CT
Posts: 31
Thanked 0 Times in 0 Posts
Originally Posted by medevo
That one slipped by, fixed, thanks

Medevo
thanks so much for this faq! 1 quick question...should i 9nstall an app like pocket informant in the ram or the bis? will the alarms and stuff work if in the bis?

-nate
nparker13 is offline   Reply With Quote
Reply

Tags
faq

Sponsor Ads

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -5. The time now is 09:16 PM.
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
Copyright © 2003-09 LeckMedia, LLC