Why are Read times faster than Write times in storage mediums?

Discussion in 'Computer Games and General Discussion' started by Hebon, Feb 24, 2012.

  1. Hebon
    OP

    Hebon Dabbling in the videogamagical

    Member
    146
    4
    Mar 10, 2011
    United States
    As the title asks, I'd like to know. In my mind they should both be the same, since an electrical current needs to pass through it (what ever is used to represent 1's and 0's). Please enlighten me.
     
  2. Foxi4

    Foxi4 On the hunt...

    pip Reporter
    23,537
    21,496
    Sep 13, 2009
    Poland
    Gaming Grotto
    Simple. All reading requires is checking whether a given part of a physical medium contains a "1" or a "0" while writting requires actually putting that "0" or "1" from the "virtual" realm into the "physical" one by means of magnetizing a part of a hard drive or charging a part of chip-based memory.

    Writing generally requires more power and is a slightly "longer" process then reading, it's a general rule.
     
    2 people like this.
  3. Tom Bombadildo

    Tom Bombadildo Honk!

    pip Contributor
    GBAtemp Patron
    Tom Bombadildo is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    10,550
    10,481
    Jul 11, 2009
    United States
    I forgot
    Was about to post until Foxi here covered it...so, that's pretty much it.
     
  4. jarejare3

    jarejare3 PROFILE CHANGE!

    Member
    660
    128
    Dec 8, 2010
    Malaysia
    Kuala lumpur?
    Always got ninja'd....
     
  5. Hebon
    OP

    Hebon Dabbling in the videogamagical

    Member
    146
    4
    Mar 10, 2011
    United States
    Thank you for answering, but I don't believe I asked the right question. How is reading different than writing? In flash mediums especially, how can something be read without being "accessed"? I hope I'm clear on this,
     
  6. Foxi4

    Foxi4 On the hunt...

    pip Reporter
    23,537
    21,496
    Sep 13, 2009
    Poland
    Gaming Grotto
    I understand what you mean.

    This is really a matter of how all electronics which are based on the binary system work. "1" means that there is sufficient electric charge (magnetic in the case of HDD's) to be detected while "0" has very little or no charge, thus is ignored. That way, a device is easily able to determine the position of "0" and "1"'s using the detecting technique employed.

    Writing requires much more power as on a magnetic disk clusters need to be magnetized or demagnetized accordingly, on a FLASH medium, parts of the chip need to be charged or discharged accordingly.

    It takes longer simply because it takes more power, plus, when reading, a "0" is simply ignored (no charge, little charge), you're effectively reading "1's" and their positions. When writing, you write both "0" and "1".

    Is that elaborate enough?
     
  7. Hebon
    OP

    Hebon Dabbling in the videogamagical

    Member
    146
    4
    Mar 10, 2011
    United States
    That does answer some of my questions, but it raises others; such as how does a flash medium detect 1's over 0's?
     
  8. Tom Bombadildo
    This message by Tom Bombadildo has been removed from public view by a moderator, Sep 21, 2017.
    Feb 24, 2012
  9. Jakob95

    Jakob95 I am the Avatar

    Suspended
    4,344
    67
    Jan 15, 2009
    United States
    New York City
    Just think of it this way, what is faster for you? Do you read faster or do you write faster?
     
    1 person likes this.
  10. Foxi4

    Foxi4 On the hunt...

    pip Reporter
    23,537
    21,496
    Sep 13, 2009
    Poland
    Gaming Grotto
    I'll use a more deattached example. Imagine that the drive is a neighbourhood and the system is a delivery guy. "Reading" is delivering parcels, "writing" is knocking on doors. The delivery guy has to knock on all the door - if someone's there (1), the parcel is delivered, if not, he goes to the next house (adress for chips, cluster for drives etc.) (0).

    Of course this is a bit more complex - write speeds can be enhanced by overwriting - if what you are writing is essentially the same as what is already there, you do not write and only overwrite the differences, but still, it will never be as fast as just reading.
     
  11. geoGolem

    geoGolem Advanced Member

    Newcomer
    85
    14
    Feb 18, 2012
    Canada
    This type of question depends completely on the hardware implementation of the memory/storage device.

    Even for Flash memory - there are various types.

    For info in Flash memory check out: http://en.wikipedia....ki/Flash_memory

    In general, I also believe writes also incur a read penalty for write verification but I don't know the details for any specific implementation.

    At the end of the day it boils down to implementation. Think of optical media like a cd/dvd where writing involves actually changing the physical make-up of the optical disk while reading simply detects the presence of a 1 or 0.

    Also what is a 1 or 0 is arbitrary as well. Its up to the designer(s) who design devices and their interfaces. A 1 doesn't necessarily mean the presence of charge while a 0 is its absence but rather it could be the other way around. Sometimes voltage levels are used to represent bits of data i.e. a 0 is 3.3V while a 1 is 5V or something like that.

    I could imagine some way of storing data where writing would be faster than reading. Consider the case of a bunch of frogs placed randomly in a cage. Each time you want to write a bit of data you find a frog with no label in the cage, tape a label along with the bit of data to its head. When you want to read a data item, you have to find the frog corresponding to the label in question and read the bit of data off the tape stuck on its head.

    I just invented a new memory device to be used to store data. "Frog Memory"

    It has several drawbacks and definitely wouldn't be able to fit on a small chip to fit in the next phone..

    But it illustrates the idea of how things depend on specific implementation.
     
    1 person likes this.
  12. Foxi4

    Foxi4 On the hunt...

    pip Reporter
    23,537
    21,496
    Sep 13, 2009
    Poland
    Gaming Grotto
    I believe that's called Random Access Memory. :P

    Bits are written wherever there is free space (unless directed otherwise) extra-fast and the value returned is their assigned adress, not the content (unless directed otherwise). ;)
     
  13. Hebon
    OP

    Hebon Dabbling in the videogamagical

    Member
    146
    4
    Mar 10, 2011
    United States
    I apologize for not being clear. I understand the concept of Reading is easier than writing, but I want to know how flash memory reads and writes. I mean, I want to know the nitty gritty of it. What process is used to determine what is stored in a bit of memory, and why is it faster than writing?

    If I were talking to someone face-to-face my question would be answered already... It's frustrating understanding is lost through text.
     
  14. Foxi4

    Foxi4 On the hunt...

    pip Reporter
    23,537
    21,496
    Sep 13, 2009
    Poland
    Gaming Grotto
    In essence, reading and writing on a FLASH chip, when you ommit all the particuliarities of it works on the simple basis - the "mother" system requests access to a given chip, whatever microprocessor controls this chip allows or denies this access, provided it allows it, it's either in Read/Write mode or in Read-Only mode (some chips have a physical connector that determines the mode, for example SD cards with switches on them, hence the microprocessor is not always necessary).

    Every "chip" is divided into smaller partitions, each of these partitions has an Adress. A pool of those Adresses is stored at its "beginning" to make reading "faster". Reading is checking the content of the chip from a given Adress onwards until End of File is reached. This is a relatively quick operation.

    Writing is:
    1) Finding out whether the chip has enough space by skim-reading adresses or by checking a ToC file of some sort.
    2) Dividing the file into partitions that will fit the selected Adress ranges.
    3) Writing into the given partitions of the chip.
    3a) Checking whether overwritting is possible as you write to enhance the speed.
    3b) Proof-Reading.

    As you can see, writing is a little bit more complex then reading, as it applies a certain degree of maths plus an actual, physical interaction with the chip rather then just directly reading its content.
     
  15. marcus134

    marcus134 GBAtemp Advanced Fan

    Member
    584
    80
    May 7, 2011
    Canada
    Qu├ębec
    here's some reading:
    http://www.anandtech.com/show/2738/5

    http://www.anandtech.com/show/5067/understanding-tlc-nand/1
     
  16. Hebon
    OP

    Hebon Dabbling in the videogamagical

    Member
    146
    4
    Mar 10, 2011
    United States
    I think I'm begining to understand. Basically 1's and 0's require different amounts of current to trigger them. So when reading them, if it takes more current than usual to trigger a bit it's counted as 1 (lets say), and if it can be read immediatly it is a 0. Am I correct so far?

    This is basically what geoGolem said, but it took me some time to wrap my head around it.

    EDIT:
    I found this article that explains things pretty well. From it I found my answer;

    article is here
    http://computer.hows...ash-memory1.htm