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

    Member Hebon Dabbling in the videogamagical

    Joined:
    Mar 10, 2011
    Messages:
    146
    Country:
    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

    Reporter Foxi4 On the hunt...

    pip
    Joined:
    Sep 13, 2009
    Messages:
    22,705
    Location:
    Gaming Grotto
    Country:
    Poland
    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

    Contributor Tom Bombadildo Honk!

    pip
    Joined:
    Jul 11, 2009
    Messages:
    8,771
    Location:
    I forgot
    Country:
    United States
    Was about to post until Foxi here covered it...so, that's pretty much it.
     
  4. jarejare3

    Member jarejare3 PROFILE CHANGE!

    Joined:
    Dec 8, 2010
    Messages:
    660
    Location:
    Kuala lumpur?
    Country:
    Malaysia
    Always got ninja'd....
     
  5. Hebon
    OP

    Member Hebon Dabbling in the videogamagical

    Joined:
    Mar 10, 2011
    Messages:
    146
    Country:
    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

    Reporter Foxi4 On the hunt...

    pip
    Joined:
    Sep 13, 2009
    Messages:
    22,705
    Location:
    Gaming Grotto
    Country:
    Poland
    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

    Member Hebon Dabbling in the videogamagical

    Joined:
    Mar 10, 2011
    Messages:
    146
    Country:
    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, Dec 4, 2016.
    Feb 24, 2012
  9. Jakob95

    Suspended Jakob95 I am the Avatar

    Joined:
    Jan 15, 2009
    Messages:
    4,344
    Location:
    New York City
    Country:
    United States
    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

    Reporter Foxi4 On the hunt...

    pip
    Joined:
    Sep 13, 2009
    Messages:
    22,705
    Location:
    Gaming Grotto
    Country:
    Poland
    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

    Newcomer geoGolem Advanced Member

    Joined:
    Feb 18, 2012
    Messages:
    85
    Country:
    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

    Reporter Foxi4 On the hunt...

    pip
    Joined:
    Sep 13, 2009
    Messages:
    22,705
    Location:
    Gaming Grotto
    Country:
    Poland
    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

    Member Hebon Dabbling in the videogamagical

    Joined:
    Mar 10, 2011
    Messages:
    146
    Country:
    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

    Reporter Foxi4 On the hunt...

    pip
    Joined:
    Sep 13, 2009
    Messages:
    22,705
    Location:
    Gaming Grotto
    Country:
    Poland
    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

    Member marcus134 GBAtemp Advanced Fan

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

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

    Member Hebon Dabbling in the videogamagical

    Joined:
    Mar 10, 2011
    Messages:
    146
    Country:
    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
     

Share This Page