Curiosity is the basic knowledge

Most of the people doesn't know what's happening on their nearby technologies.
Day by day many progress are happening.But still everyone doesn't try to find what it is.
This blog is for those whom are not in aware of the newest gadgets and softwares and their uses on our technical life

so be a part of it

Wednesday 21 March 2012

എന്തിനോ വേണ്ടി തിളയ്ക്കുന്ന സാമ്പാര്‍....


സുഹൃത്തേ ഒരു മിനിറ്റ്...

സുഹൃത്ത്‌ എന്ന വാക്കിന് എന്താണ് അര്‍ത്ഥം?
താന്തോന്നി എന്ന സിനിമയിലെ ഡയലോഗ് പോലെ “കര്‍മ ബന്ധം കൊണ്ട് പുരുഷന്‍ ഗര്‍ഭം ധരിച്ചുണ്ടാകുന്നതാണ് കൂട്ടുകാരന്‍...” എന്ന്‍ പലപ്പോഴും തോന്നിപ്പോകാറുണ്ട്. പല സന്നര്‍ഭങ്ങളിലും , അത് ദുഖമായാലും സന്തോഷമായാലും കൂടെ നില്‍കുന്നവനാണ് കൂട്ടുകാരന്‍ എന്നാണ് എന്‍റെ അഭിപ്രായം. നാം നമ്മുടെ മാതാപിതാക്കളോട് പോലും പറയാത്ത പല രഹസ്യങ്ങളും നമ്മുടെ കൂട്ടുകാരുമായാണ് പങ്കിടുന്നത്. അങ്ങനെ പങ്കിടുന്ന സുഹൃത്‌ബന്ധമാണ് എന്നെന്നും കാലങ്ങളോളം നിലനില്‍കുന്നതും... പലപ്പോഴും നമ്മുടെയൊക്കെ സുഹൃത്‌ബന്ധങ്ങള്‍ മറ്റുള്ളവരുടെ മുന്‍പില്‍ തെറ്റിധരിക്കപ്പെടാറുണ്ട്. പക്ഷെ ബാലിശമായ അവരുടെ ചില ഗോസിപ്പുകള്‍ കാരണം ഒരു നല്ല സുഹൃത്ബന്ധം തച്ചുടയ്ക്കപെടുന്നു.
ഇതിനു മാതാപിതാക്കളും അധ്യാപകരും ഒരു പരിധിവരെ കാരണമാകാറുണ്ട്.
ഇന്നത്തെ തലമുറയിലെ മാതാപിതാക്കള്‍ തന്‍റെ മക്കളെ വളരെയധികം Friendly ആയിട്ടാണ് പെരുമാറുന്നത്. അതുകൊണ്ടുതന്നെ കൂടുതല്‍ New generation പിള്ലാരുടെയും കൂട്ടുകാര്‍ മാതാപിതാക്കള്‍ തന്നെയാകും.
ഇത് വളരെ നല്ല ഒരു ലക്ഷണമാണ്.
ഇതുപോലെ അധ്യാപകരും കുട്ടികളുടെ ഒരു കൂട്ടുകാരനെ പോലെ പെരുമാറും എന്ന ധാരണയോടു കൂടിയാണ് മിക്ക new generation പിള്ളാരും “കോളേജ്” എന്ന അക്ഷരഗംഗയില്‍ വരുന്നത്.
അവിടെ ഒരു ആണും പെണ്ണും കൂടി സംസാരിച്ചാല്‍ അതിനെ “ലൈന്‍” , “കേബിള്‍ കണക്ഷന്‍” എന്നിങ്ങനെ പറഞ്ഞ് ഒരു നല്ല സുഹൃത്ബന്ധം അവിടെ വച്ച് തന്നെ തച്ചുടയ്കുന്ന രീതിയാണ് ഇന്നത്തെ കലാലയങ്ങളില്‍ കണ്ടുവരുന്നത്. മിക്ക എഞ്ചിനീയറിംഗ് , ടെക്നിക്കല്‍ ഡിഗ്രീ ഇന്‍സ്റ്റിറ്റ്യൂട്ട് എന്നിവിടങ്ങളില്‍ ഒരു “യന്ത്രം” ഉണ്ടാക്കുകയാണ്..
പഠിപ്പിച്ച് പഠിപ്പിച്ച് “പ്രോഗ്രാം” ചെയ്ത് ഒരു റോബോട്ടിനെ ഉണ്ടാകുന്നതുപോലെ.. അവിടെ പുതിയ ചിന്തകളെ കുറിച്ച് ആരും സംസാരിയ്കുന്നില്ല.. സംസാരിയ്പികുന്നില്ല.. രണ്ടു കൂട്ടുകാര്‍ തമ്മില്‍ അന്നോന്യം സംസാരിച്ചാല്‍ അതിനെ വേറെ ഒരു വ്യാഖ്യാന രീതിയിലൂടെ കണ്ട് അവരുടെ മനസ്സ് മടുപ്പിയ്കുന്നതാണ് ഇന്നത്തെ ചില അധ്യാപകരുടെ രീതി
. ഇത് എല്ലാ അധ്യാപകരുടെയും ഒരു പൊതു സ്വഭാവം അല്ല കേട്ടോ.. ചില പ്രത്യേക ‘special charectarised’ അധ്യാപകരിലാണ് എങ്ങനെയൊക്കെ കാണാറുള്ളത്.
എന്നിരുന്നാലും, ചില അധ്യാപകര്‍ തന്‍റെ കുട്ടികളുടെ ‘wavelength’ കണ്ടുപിടിച്ച് പടിപ്പിയ്കുന്ന രീതി തുടരുന്നുണ്ട്. അവര്‍ തികച്ചും നല്ല ഒരു പാട്യ രീതിയാണ് തുടര്‍ന് പോകുന്നത്. പലപ്പോഴും കുട്ടികള്‍ അവരെ വളരെയധികം ഇഷ്ടപ്പെടുന്നു . ഇങ്ങനെയുള്ള അധ്യാപകര്‍ക്ക് അകക്കണ്ണ് (insight) കൂടുതലായിരിക്കും. തന്‍റെ കുട്ടികള്‍ എവിടം വരെ പോകുന്നു , എവിടം വരെ പോകും എന്നിങ്ങനെയെല്ലാം അവര്‍ക്ക്‌ അറിയുവാന്‍ കഴിയും.ഒരു ആണും പെണ്ണും സംസാരിച്ചാല്‍ അത് സൗഹൃദമാണോ പ്രണയമാണോ എന്ന് തിരിച്ചറിയുവാന്‍ കഴിയും. കുട്ടികളിലെ കലാവാസനയെ തിരിച്ചറിഞ്ഞ് മുന്‍പന്ധിയില്‍ കൊണ്ടുവരാന്‍ ശ്രമിക്കും..
അവര്‍ ഒരിയ്കലും ഗോസ്സിപുകള്‍ അടിച്ചിറക്കുകയുമില്ല..
ലോകത്തുള്ള എല്ലാ അധ്യാപകരും ഇതുപോലെ അകകണ്ണ്‍ ഉള്ളവര്‍ ആവട്ടെ എന്നാഗ്രഹിച്ചുകൊണ്ട് നിര്‍ത്തുന്നു....
എന്ന് സ്വന്തം സുഹൃത്ത്‌......

സുബിന്‍ ശ്രീരാഗം

Sunday 18 March 2012

Malayalam in Mobile

Don't you want to read Malayalam fonts on your mobile?
Yes... there is an option for you to read Malayalam fonts for webpages on your own mobilephone...

1) Install Opera Mini Browser on your GPRS enabled mobile phone
2) Type 'config:' in address bar of the browser
3) A window will be opened namely Power-User settings
4) Below you can see "Use bitmap fonts for complex scripts"
    As seen in the picture, Select "Yes" in the field,
     And then press SAVE Button.
     That's all....
Now you can read malayalam on your mobile phone...

NB: If 'config:' does not works, please type as 'opera:config'

SYSTEM STARTUP PROCESSES


System Boot Sequence      

The system BIOS is what starts the computer running when you turn it on. The following are the steps that a typical boot sequence involves. Of course this will vary by the manufacturer of your hardware, BIOS, etc., and especially by what peripherals you have in the PC. Here is what generally happens when you turn on your system power:
  1. The internal power supply turns on and initializes. The power supply takes some time until it can generate reliable power for the rest of the computer, and having it turn on prematurely could potentially lead to damage. Therefore, the chipset will generate a reset signal to the processor (the same as if you held the reset button down for a while on your case) until it receives the Power Good signal from the power supply.
  2. When the reset button is released, the processor will be ready to start executing. When the processor first starts up, it is suffering from amnesia; there is nothing at all in the memory to execute. Of course processor makers know this will happen, so they pre-program the processor to always look at the same place in the system BIOS ROM for the start of the BIOS boot program. This is normally location FFFF0h, right at the end of the system memory. They put it there so that the size of the ROM can be changed without creating compatibility problems. Since there are only 16 bytes left from there to the end of conventional memory, this location just contains a "jump" instruction telling the processor where to go to find the real BIOS startup program.
  3. The BIOS performs the power-on self test (POST). If there are any fatal errors, the boot process stops. POST beep codes can be found in this area of the Troubleshooting Expert.
  4. The BIOS looks for the video card. In particular, it looks for the video card's built in BIOS program and runs it. This BIOS is normally found at location C000h in memory. The system BIOS executes the video card BIOS, which initializes the video card. Most modern cards will display information on the screen about the video card. (This is why on a modern PC you usually see something on the screen about the video card before you see the messages from the system BIOS itself).
  5. The BIOS then looks for other devices' ROMs to see if any of them have BIOSes. Normally, the IDE/ATA hard disk BIOS will be found at C8000h and executed. If any other device BIOSes are found, they are executed as well.
  6. The BIOS displays its startup screen.
  7. The BIOS does more tests on the system, including the memory count-up test which you see on the screen. The BIOS will generally display a text error message on the screen if it encounters an error at this point; these error messages and their explanations can be found in this part of the Troubleshooting Expert.
  8. The BIOS performs a "system inventory" of sorts, doing more tests to determine what sort of hardware is in the system. Modern BIOSes have many automatic settings and will determine memory timing (for example) based on what kind of memory it finds. Many BIOSes can also dynamically set hard drive parameters and access modes, and will determine these at roughly this time. Some will display a message on the screen for each drive they detect and configure this way. The BIOS will also now search for and label logical devices (COM and LPT ports).
  9. If the BIOS supports the Plug and Play standard, it will detect and configure Plug and Play devices at this time and display a message on the screen for each one it finds.
  10. The BIOS will display a summary screen about your system's configuration. Checking this page of data can be helpful in diagnosing setup problems, although it can be hard to see because sometimes it flashes on the screen very quickly before scrolling off the top.
  11. The BIOS begins the search for a drive to boot from. Most modern BIOSes contain a setting that controls if the system should first try to boot from the floppy disk (A:) or first try the hard disk (C:). Some BIOSes will even let you boot from your CD-ROM drive or other devices, depending on the boot sequence BIOS setting.
  12. Having identified its target boot drive, the BIOS looks for boot information to start the operating system boot process. If it is searching a hard disk, it looks for a master boot record at cylinder 0, head 0, sector 1 (the first sector on the disk); if it is searching a floppy disk, it looks at the same address on the floppy disk for a volume boot sector.
  13. If it finds what it is looking for, the BIOS starts the process of booting the operating system, using the information in the boot sector. At this point, the code in the boot sector takes over from the BIOS. The DOS boot process is described in detail here. If the first device that the system tries (floppy, hard disk, etc.) is not found, the BIOS will then try the next device in the boot sequence, and continue until it finds a bootable device.
  14. If no boot device at all can be found, the system will normally display an error message and then freeze up the system. What the error message is depends entirely on the BIOS, and can be anything from the rather clear "No boot device available" to the very cryptic "NO ROM BASIC - SYSTEM HALTED". This will also happen if you have a bootable hard disk partition but forget to set it active.
This process is called a "cold boot" (since the machine was off, or cold, when it started). A "warm boot" is the same thing except it occurs when the machine is rebooted using {Ctrl}+{Alt}+{Delete} or similar. In this case the POST is skipped and the boot process continues roughly at step 8 above.

BIOS Power-On Self Test (POST)
The first thing that the BIOS does when it boots the PC is to perform what is called the Power-On Self-Test, or POST for short. The POST is a built-in diagnostic program that checks your hardware to ensure that everything is present and functioning properly, before the BIOS begins the actual boot. It later continues with additional tests (such as the memory test that you see printed on the screen) as the boot process is proceeding.
The POST runs very quickly, and you will normally not even noticed that it is happening--unless it finds a problem. You may have encountered a PC that, when turned on, made beeping sounds and then stopped without booting up. That is the POST telling you something is wrong with the machine. The speaker is used because this test happens so early on, that the video isn't even activated yet! These beep patterns can be used to diagnose many hardware problems with your PC. The exact patterns depend on the maker of the BIOS; the most common are Award and AMI BIOSes. This part of the Troubleshooting Expert will help you figure out what the POST beep codes mean and what to do about them, if you are having this problem.
Note: Some POST errors are considered "fatal" while others are not. A fatal error means that it will halt the boot process immediately (an example would be if no system memory at all is found). In fact, most POST boot errors are fatal, since the POST is testing vital system components.

Many people don't realize that the POST also uses extended troubleshooting codes that you can use to get much more detail on what problem a troublesome PC is having. You can purchase a special debugging card that goes into an ISA slot and accepts the debugging codes that the BIOS sends to a special I/O address, usually 80h. The card displays these codes and this lets you see where the POST stops, if it finds a problem. These cards are obviously only for the serious PC repairperson or someone who does a lot of work on systems.

Steps in Booting
Steps:
1. computer BIOS runs self-tests
2. if no problems, BIOS tries to boot an operating system from a drive. Older computers usually try a: drive first, c: drive second. Newer computers have a BIOS setting to tell BIOS where to look first, usually c:
3. BIOS looks for bootup files (usually on drive c:
4. most common bootup files are the Microsoft bootup files: io.sys, msdos.sys, and command.com
5. next, DOS looks for config.sys file and loads drivers line by line.
6. next, DOS looks for autoexec.bat file and executes DOS commands or runs given programs line by line



Saturday 17 March 2012

COMPUTER MEMORY

Random-access memory
Random access memory (RAM) is a form of computer data storage. Today, it takes the form of integrated circuits that allow stored data to be accessed in any order with a worst case performance of constant time. Strictly speaking, modern types of DRAM are therefore not random access, as data is read in bursts, although the name DRAM / RAM has stuck. However, many types of SRAM, ROM, OTP, and NOR flash are still random access even in a strict sense. RAM is often associated with volatile types of memory (such as DRAM memory modules), where its stored information is lost if the power is removed. Many other types of non-volatile memory are RAM as well, including most types of ROM and a type of flash memory called NOR-Flash



Types of RAM
The two main forms of modern RAM are static RAM (SRAM) and dynamic RAM (DRAM). In static RAM, a bit of data is stored using the state of a flip-flop. This form of RAM is more expensive to produce, but is generally faster and requires less power than DRAM and, in modern computers, is often used as cache memory for the CPU. DRAM stores a bit of data using a transistor and capacitor pair, which together comprise a memory cell. The capacitor holds a high or low charge (1 or 0, respectively), and the transistor acts as a switch that lets the control circuitry on the chip read the capacitor's state of charge or change it. As this form of memory is less expensive to produce than static RAM, it is the predominant form of computer memory used in modern computers.
Both static and dynamic RAM are considered volatile, as their state is lost or reset when power is removed from the system. By contrast, Read-only memory (ROM) stores data by permanently enabling or disabling selected transistors, such that the memory cannot be altered. Writeable variants of ROM (such as EEPROM and flash memory) share properties of both ROM and RAM, enabling data to persist without power and to be updated without requiring special equipment. These persistent forms of semiconductor ROM include USB flash drives, memory cards for cameras and portable devices, etc. As of 2007, NAND flash has begun to replace older forms of persistent storage, such as magnetic disks and tapes, while NOR flash is being used in place of ROM in netbooks and rugged computers, since it is capable of true random access, allowing direct code execution.
ECC memory (which can be either SRAM or DRAM) includes special circuitry to detect and/or correct random faults (memory errors) in the stored data, using parity bits or error correction code.
In general, the term RAM refers solely to solid-state memory devices (either DRAM or SRAM), and more specifically the main memory in most computers. In optical storage, the term DVD-RAM is somewhat of a misnomer since, like CD-RW, a rewriteable DVD must be erased before it can be rewritten.


Memory hierarchy
One can read and over-write data in RAM. Many computer systems have a memory hierarchy consisting of CPU registers, on-die SRAM caches, external caches, DRAM, paging systems, and virtual memory or swap space on a hard drive. This entire pool of memory may be referred to as "RAM" by many developers, even though the various subsystems can have very different access times, violating the original concept behind the random access term in RAM. Even within a hierarchy level such as DRAM, the specific row, column, bank, rank, channel, or interleave organization of the components make the access time variable, although not to the extent that rotating storage media or a tape is variable. The overall goal of using a memory hierarchy is to obtain the higher possible average access performance while minimizing the total cost of the entire memory system (generally, the memory hierarchy follows the access time with the fast CPU registers at the top and the slow hard drive at the bottom).
In many modern personal computers, the RAM comes in an easily upgraded form of modules called memory modules or DRAM modules about the size of a few sticks of chewing gum. These can quickly be replaced should they become damaged or when changing needs demand more storage capacity. As suggested above, smaller amounts of RAM (mostly SRAM) are also integrated in the CPU and other ICs on the motherboard, as well as in hard-drives, CD-ROMs, and several other parts of the computer system.

Other uses of RAM
In addition to serving as temporary storage and working space for the operating system and its applications, RAM is used in numerous other ways:


Virtual memory
Most modern operating systems employ a method of extending RAM capacity, known as "virtual memory". A portion of the computer's hard drive is set aside for a paging file or a scratch partition, and the combination of physical RAM and the paging file form the system's total memory. (For example, if a computer has 2 GB of RAM and a 1 GB page file, the operating system has 3 GB total memory available to it.) When the system runs low on physical memory, it can "swap" portions of RAM to the paging file to make room for new data, as well as to read previously swapped information back into RAM. Excessive use of this mechanism results in thrashing and generally hampers overall system performance, mainly because hard drives are far slower than RAM.



RAM disk
Software can "partition" a portion of a computer's RAM, allowing it to act as a much faster hard drive that is called a RAM disk. A RAM disk loses the stored data when the computer is shut down, unless memory is arranged to have a standby battery source.

 












Shadow RAM
Sometimes, the contents of a relatively slow ROM chip are copied to read/write memory to allow for shorter access times. The ROM chip is then disabled while the initialized memory locations are switched in on the same block of addresses (often write-protected). This process, sometimes called shadowing, is fairly common in both computers and embedded systems.
As a common example, the BIOS in typical personal computers often has an option called “use shadow BIOS” or similar. When enabled, functions relying on data from the BIOS’s ROM will instead use DRAM locations (most can also toggle shadowing of video card ROM or other ROM sections). Depending on the system, this may not result in increased performance, and may cause incompatibilities. For example, some hardware may be inaccessible to the operating system if shadow RAM is used. On some systems the benefit may be hypothetical because the BIOS is not used after booting in favor of direct hardware access. Free memory is reduced by the size of the shadowed ROMs.

Dynamic random-access memory

Dynamic random-access memory (DRAM) is a type of random-access memory that stores each bit of data in a separate capacitor within an integrated circuit. The capacitor can be either  charged or discharged; these two states are taken to represent the two values of a bit, conventionally called 0 and 1. Since capacitors leak charge, the information eventually fades unless the capacitor charge is refreshed periodically. Because of this refresh requirement, it is a dynamic memory as opposed to SRAM and other static memory.
The advantage of DRAM is its structural simplicity: only one transistor and a capacitor are required per bit, compared to four or six transistors in SRAM. This allows DRAM to reach very high densities. Unlike flash memory, DRAM is volatile memory (cf. non-volatile memory), since it loses its data quickly when power is removed. The transistors and capacitors used are extremely small; billions can fit on a single memory chip.
The main memory (the "RAM") in personal computers is Dynamic RAM (DRAM). It is the
RAM in laptop and workstation computers as well as some of the RAM of video game consoles.
The advantage of DRAM is its structural simplicity: only one transistor and a capacitor are required per bit, compared to four or six transistors in SRAM. This allows DRAM to reach very high densities. Unlike flash memory, DRAM is volatile memory (cf. non-volatile memory), since it loses its data quickly when power is removed. The transistors and capacitors used are extremely small; billions can fit on a single memory chip.

Static random-access memory

Static random-access memory (SRAM) is a type of semiconductor memory where the word static indicates that, unlike dynamic RAM (DRAM), it does not need to be periodically refreshed, as SRAM uses bistable latching circuitry to store each bit. SRAM exhibits data remanence, but is still volatile in the conventional sense that data is eventually lost when the memory is not powered.

Characteristics

SRAM is more expensive, but faster and significantly less power hungry (especially idle) than DRAM. It is therefore used where either bandwidth or low power, or both, are principal considerations. SRAM is also easier to control (interface to) and generally more truly random access than modern types of DRAM. Due to a more complex internal structure, SRAM is less dense than DRAM and is therefore not used for high-capacity, low-cost applications such as the main memory in personal computers.
Read-only memory
Read-only memory (ROM) is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware (software that is very closely tied to specific hardware, and unlikely to need frequent updates).
In its strictest sense, ROM refers only to mask ROM (the oldest type of solid state ROM), which is fabricated with the desired data permanently stored in it, and thus can never be modified.
Mask ROM
Mask ROM (MROM) is a type of read-only memory (ROM) whose contents are programmed by the integrated circuit manufacturer (rather than by the user). The terminology "mask" comes from integrated circuit fabrication, where regions of the chip are masked off during the process of photolithography.
The main advantage of mask ROM is its cost. Per bit, mask ROM is more compact than any other kind of semiconductor memory. Since the cost of an integrated circuit strongly depends on its size, mask ROM is significantly cheaper than any other kind of semiconductor memory.
However, the one-time masking cost is high and there is a long turn-around time from design to product phase. Design errors are costly: if an error in the data or code is found, the mask ROM is useless and must be replaced in order to change the code or data.
Other integrated circuits contain mask ROM as well as a variety of other devices. In particular, many microprocessors have mask ROM to store their microcode. Some microcontrollers have mask ROM to store the bootloader or all of their firmware.
Programmable read-only memory
A programmable read-only memory (PROM) or field programmable read-only memory (FPROM) or one-time programmable non-volatile memory (OTP NVM) is a form of digital memory where the setting of each bit is locked by a fuse or antifuse. Such PROMs are used to store programs permanently. The key difference from a strict ROM is that the programming is applied after the device is constructed.
PROMs are manufactured blank and, depending on the technology, can be programmed at wafer, final test, or in system. The availability of this technology allows companies to keep a supply of blank PROMs in stock, and program them at the last minute to avoid large volume commitment. These types of memories are frequently seen in video game consoles, mobile phones, radio-frequency identification (RFID) tags, implantable medical devices, high-definition multimedia interfaces (HDMI) and in many other consumer and automotive electronics products.
EPROM
An EPROM (rarely EROM), or erasable programmable read only memory, is a type of memory chip that retains its data when its power supply is switched off. In other words, it is non-volatile. It is an array of floating-gate transistors individually programmed by an electronic device that supplies higher voltages than those normally used in digital circuits. Once programmed, an EPROM can be erased by exposing it to strong ultraviolet light from a mercury-vapor light source. EPROMs are easily recognizable by the transparent fused quartz window in the top of the package, through which the silicon chip is visible, and which permits exposure to UV light during erasing.
EEPROM
EEPROM (also written E2PROM and pronounced "e-e-prom," "double-e prom," "e-squared," or simply "e-prom") stands for Electrically Erasable Programmable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration tables or device configuration.
EEPROM is user-modifiable read-only memory (ROM) that can be erased and reprogrammed (written to) repeatedly through the application of higher than normal electrical voltage generated externally or internally in the case of modern EEPROMs. EPROM usually must be removed from the device for erasing and programming, whereas EEPROMs can be programmed and erased in circuit. Originally, EEPROMs were limited to single byte operations which made them slower, but modern EEPROMs allow multi-byte page operations. It also has a limited life - that is, the number of times it could be reprogrammed was limited to tens or hundreds of thousands of times. That limitation has been extended to a million write operations in modern EEPROMs. In an EEPROM that is frequently reprogrammed while the computer is in use, the life of the EEPROM can be an important design consideration. It is for this reason that EEPROMs were used for configuration information, rather than random access memory.
Flash memory
Flash memory is a non-volatile computer storage chip that can be electrically erased and reprogrammed. It was developed from EEPROM (electrically erasable programmable read-only memory) and must be erased in fairly large blocks before these can be rewritten with new data. The high density NAND type must also be programmed and read in (smaller) blocks, or pages, while the NOR type allows a single machine word (byte) to be written or read independently.
The NAND type is primarily used in memory cards, USB flash drives, solid-state drives, and similar products, for general storage and transfer of data. The NOR type, which allows true random access and therefore direct code execution, is used as a replacement for the older EPROM and as an alternative to certain kinds of ROM applications. However, NOR flash memory may emulate ROM primarily at the machine code level; many digital designs need ROM (or PLA) structures for other uses, often at significantly higher speeds than (economical) flash memory may achieve. NAND or NOR flash memory is also often used to store configuration data in numerous digital products, a task previously made possible by EEPROMs or battery-powered static RAM.
Example applications of both types of flash memory include personal computers, PDAs, digital audio players, digital cameras, mobile phones, synthesizers, video games, scientific instrumentation, industrial robotics, medical electronics, and so on. In addition to being non-volatile, flash memory offers fast read access times, as fast as dynamic RAM, although not as fast as static RAM or ROM. Its mechanical shock resistance helps explain its popularity over hard disks in portable devices; as does its high durability, being able to withstand high pressure, temperature, immersion in water etc. 
Although flash memory is technically a type of EEPROM, the term "EEPROM" is generally used to refer specifically to non-flash EEPROM which is erasable in small blocks, typically bytes. Because erase cycles are slow, the large block sizes used in flash memory erasing give it a significant speed advantage over old-style EEPROM when writing large amounts of data.[citation needed] Flash memory now costs far less than byte-programmable EEPROM and has become the dominant memory type wherever a significant amount of non-volatile, solid state storage is needed.