Olympus-OM
[Top] [All Lists]

Re: [OM] [OT] Sandisk MicroSD memory cards - became A Kilobyte

Subject: Re: [OM] [OT] Sandisk MicroSD memory cards - became A Kilobyte
From: Chuck Norcutt <chucknorcutt@xxxxxxxxxxxxxxxx>
Date: Sat, 9 Apr 2016 09:20:07 -0400
The limitations of the various forms of SD cards have nothing to do with the limitations of 64-bit systems but everything to do with the intentional design limitations of the various memory cards.

When random access memory (RAM) is addressed in a computer system, for the sake of speed it's done so in parallel... ie, all of the address lines required to uniquely identify a particular byte are activated at the same time. A 64 bit system can theoretically address 2**64 bytes (an enormous decimal number) 18,446,744,073,709,551,616. However, real systems addressing RAM would require 64 address lines... a heavy price to pay for trying to reach some memory that could never possibly be there.

Even addressing the RAM of a 32 bit (4 GB) system requires 32 address lines and SDHC cards only have a total of 9 pins. It's clear that the address must be transmitted serially. In serial transmission all the bits of the address could come across a single data line to the card or, as in high speed cards, 4 bits at a time using 4 parallel lines. But the card must wait for all the bits of the address to arrive where they can then be assembled inside the card to some form of parallel internal addressing. But SD cards are not arranged internally like RAM. Internal storage of memory cards mimics that of a hard drive. The smallest unit of storage that can actually be directly addressed is a "sector" of 512 bytes. All 512 bytes must be read within the card and then all or selected bytes passed back out... same as disk drives.

Although 64-bit systems don't (as a practical matter) have 64 address lines they do have 64 data lines such that a 64-bit data value can be read in parallel.

But various design tradeoffs can also be made to trade off speed vs. cost. The original IBM PC used an Intel 8088 processor rather than an Intel 8086. The 8088 had 16 bit addressing augmented by an additional 4 bit segment address in order to address a 1 MB address space in 64 KB chunks. But only the 8086 had 16 data lines to allow passing 16 bits of data in parallel. The cheaper 8088 had only 8 data lines and had to do 2 memory accesses to get 16 bits. It could do the same work as the 8086 but it was slower.

Chuck Norcutt





On 4/9/2016 7:49 AM, Brian Gray via olympus wrote:
    Hi
    The PC Helpdesk got it right but 2 raised to the power 1000 is not
    equal to 1000, it is way bigger! 1024 is equal to 2 raised to the power
    10.  A schooldays memory is of a story about an ancient king who agreed
    to pay another king, as a penalty, 1 grain of corn on the first square
    of a chess board, 2 grains on the second, 4 on the third, 8 on the
    fourth etc up to the 64 chess board squares.  He could not fulfil his
    agreement because there is not that much corn in the world!  This all
    relates to why we have SD, SDHC and SDXC memory cards because there is
    a limit to the number of memory locations which can be addressed
    unaided by a 64 bit system.
    One of the computer gurus on the list can no doubt explain how  High
    Capacity and Extended Capacity cards get around this limitation.
    Brian Gray

--
_________________________________________________________________
Options: http://lists.thomasclausen.net/mailman/listinfo/olympus
Archives: http://lists.thomasclausen.net/mailman/private/olympus/
Themed Olympus Photo Exhibition: http://www.tope.nl/


<Prev in Thread] Current Thread [Next in Thread>
Sponsored by Tako
Impressum | Datenschutz