WEBVTT - How Flash Drives Work

0:00:04.400 --> 0:00:07.800
<v Speaker 1>Welcome to tech Stuff, a production from I Heart Radio.

0:00:11.800 --> 0:00:14.280
<v Speaker 1>Hey there, and welcome to tech Stuff. I'm your host,

0:00:14.360 --> 0:00:18.000
<v Speaker 1>Jonathan Strickland. I'm an executive producer with I Heart Radio

0:00:18.160 --> 0:00:21.480
<v Speaker 1>and how the tech are you? I received a request

0:00:21.760 --> 0:00:25.760
<v Speaker 1>to talk about flash memory from a hardware engineer, musician,

0:00:25.960 --> 0:00:30.639
<v Speaker 1>and self described total nerd via the I heart Radio

0:00:30.680 --> 0:00:35.160
<v Speaker 1>app talk back feature. Uh. That's that little microphone icon

0:00:35.320 --> 0:00:37.199
<v Speaker 1>you would see if you were to navigate to the

0:00:37.240 --> 0:00:40.360
<v Speaker 1>tech Stuff podcast page on the I heart Radio app.

0:00:40.680 --> 0:00:42.400
<v Speaker 1>If you click on that, you can leave a voice

0:00:42.400 --> 0:00:44.879
<v Speaker 1>message up to thirty seconds long there, and if you

0:00:44.920 --> 0:00:46.800
<v Speaker 1>want me to include the audio in an episode, you

0:00:46.800 --> 0:00:49.080
<v Speaker 1>can let me know. I always prefer opt in rather

0:00:49.120 --> 0:00:52.560
<v Speaker 1>than opt out. This particular voice message did not ask

0:00:52.920 --> 0:00:55.280
<v Speaker 1>for it to be used in an episode, so I'm

0:00:55.320 --> 0:00:56.880
<v Speaker 1>just leaving it out to be on the safe side.

0:00:56.880 --> 0:01:01.440
<v Speaker 1>But let's talk about flash memory now. One thing that

0:01:01.480 --> 0:01:03.560
<v Speaker 1>we need to clear up is when we talk about

0:01:03.600 --> 0:01:08.840
<v Speaker 1>flash memory, we're typically talking about data storage, you know,

0:01:09.000 --> 0:01:12.280
<v Speaker 1>like like a hard drive, rather than talking about something

0:01:12.319 --> 0:01:17.399
<v Speaker 1>like traditional computer memory like RAM. RAM stands for random

0:01:17.520 --> 0:01:21.800
<v Speaker 1>access memory. Computer memory, as we typically define it means

0:01:21.840 --> 0:01:26.280
<v Speaker 1>a temporary storage system that holds data and instructions that

0:01:26.560 --> 0:01:30.920
<v Speaker 1>a CPU or central processing unit needs when it's running

0:01:31.000 --> 0:01:34.839
<v Speaker 1>a particular process. Computer memory is what saves a processor

0:01:34.880 --> 0:01:39.119
<v Speaker 1>from having to retrieve specific information from long term storage

0:01:39.560 --> 0:01:43.720
<v Speaker 1>over and over and Without RAM, computers would be much

0:01:43.800 --> 0:01:46.119
<v Speaker 1>much slower than they are. And it's why some folks

0:01:46.160 --> 0:01:48.760
<v Speaker 1>will say that one way to speed up your computer

0:01:49.200 --> 0:01:52.200
<v Speaker 1>is to add more memory. It actually gets way more

0:01:52.280 --> 0:01:54.720
<v Speaker 1>complicated than that, though, and I'm sure I'll talk about

0:01:54.720 --> 0:01:56.960
<v Speaker 1>that in another episode. Maybe I'll do an episode about

0:01:57.680 --> 0:02:01.360
<v Speaker 1>the the components in your machine that determine how quickly

0:02:01.480 --> 0:02:04.360
<v Speaker 1>it runs, because there's a lot of There are a

0:02:04.400 --> 0:02:07.760
<v Speaker 1>lot of factors, it's not just one thing. Also, one

0:02:07.760 --> 0:02:11.239
<v Speaker 1>way that folks will describe RAM versus storage is the

0:02:11.520 --> 0:02:15.440
<v Speaker 1>kind of think of it like human short term memory

0:02:16.000 --> 0:02:19.160
<v Speaker 1>versus long term memory. We use short term memory to

0:02:19.200 --> 0:02:22.480
<v Speaker 1>handle something that's going on in the moment, such as

0:02:22.680 --> 0:02:25.079
<v Speaker 1>let's say you meet someone for the first time, and

0:02:25.120 --> 0:02:28.440
<v Speaker 1>they introduce themselves and they give you their name, so

0:02:28.560 --> 0:02:32.160
<v Speaker 1>you use their name as you talk to them. We

0:02:32.280 --> 0:02:36.480
<v Speaker 1>then commit important stuff to long term memory so that

0:02:36.520 --> 0:02:38.560
<v Speaker 1>we can pull from that should we ever need to,

0:02:39.639 --> 0:02:42.200
<v Speaker 1>like remembering that person's name when you see them at

0:02:42.200 --> 0:02:44.480
<v Speaker 1>a function three years later. Then you don't want to

0:02:44.480 --> 0:02:46.919
<v Speaker 1>look like a total jerk. By the way, I am

0:02:47.000 --> 0:02:50.040
<v Speaker 1>really bad at long term memory. I'm not great at

0:02:50.040 --> 0:02:52.280
<v Speaker 1>short term either. As it turns out, I kind of

0:02:52.320 --> 0:02:55.080
<v Speaker 1>live in the moment. It's like the world is just

0:02:55.240 --> 0:02:57.919
<v Speaker 1>constantly new and amazing to me. That's the way I

0:02:58.200 --> 0:03:00.519
<v Speaker 1>prefer to think of it, rather than I him really

0:03:00.560 --> 0:03:04.360
<v Speaker 1>bad at remembering people's names. But flash memory typically behaves

0:03:04.360 --> 0:03:07.560
<v Speaker 1>more like a hard drive than RAM does. It's a

0:03:07.600 --> 0:03:10.840
<v Speaker 1>way to store information for more of a long term solution.

0:03:11.120 --> 0:03:16.119
<v Speaker 1>Flash drives are also known as solid state storage devices UH.

0:03:16.160 --> 0:03:19.560
<v Speaker 1>They use an all electronic method to store data, as

0:03:19.560 --> 0:03:23.079
<v Speaker 1>opposed to traditional hard drives, which have moving parts like

0:03:23.440 --> 0:03:29.079
<v Speaker 1>platters and read right heads. Also, flash drives are non

0:03:29.360 --> 0:03:33.200
<v Speaker 1>volatile forms of storage. That means that the data stored

0:03:33.280 --> 0:03:36.040
<v Speaker 1>on a flash drive is going to stay there even

0:03:36.040 --> 0:03:39.040
<v Speaker 1>if the computer that the drive is is connected to

0:03:39.560 --> 0:03:44.960
<v Speaker 1>has been switched off. Stuff in RAM is volatile, so

0:03:45.440 --> 0:03:49.840
<v Speaker 1>information stored in RAM is volatile. Memory that are volatile data.

0:03:49.920 --> 0:03:52.760
<v Speaker 1>That means that information will go by by when you

0:03:52.800 --> 0:03:56.840
<v Speaker 1>power your computer down. RAM requires power to continue to

0:03:56.920 --> 0:04:01.000
<v Speaker 1>store information. That's not the case with flash storage. Or

0:04:01.000 --> 0:04:03.920
<v Speaker 1>flash memory. Like a traditional hard drive, a flash drive

0:04:03.960 --> 0:04:08.360
<v Speaker 1>will jealously cling onto that precious data. It just does

0:04:08.400 --> 0:04:11.480
<v Speaker 1>so in a different way from traditional hard drives. All right,

0:04:11.520 --> 0:04:15.160
<v Speaker 1>So let's do a quick rundown of how traditional hard

0:04:15.280 --> 0:04:18.520
<v Speaker 1>drives work so that we can make this distinction. Now,

0:04:18.520 --> 0:04:21.279
<v Speaker 1>I mentioned that a traditional hard drive has a platter

0:04:21.800 --> 0:04:26.000
<v Speaker 1>and a read right head, so you can kind of

0:04:26.000 --> 0:04:29.280
<v Speaker 1>think of it similar to a turntable or record player

0:04:29.480 --> 0:04:33.320
<v Speaker 1>and vinyl records. Only imagine that your turntable is able

0:04:33.360 --> 0:04:35.680
<v Speaker 1>to not just play music on a record, it can

0:04:35.720 --> 0:04:40.080
<v Speaker 1>also record music to a blank record. Now, with vinyl records,

0:04:40.400 --> 0:04:43.760
<v Speaker 1>we record information in grooves, and a stylist or needle

0:04:43.880 --> 0:04:47.599
<v Speaker 1>travels through that groove, and the physical vibrations the grooves

0:04:47.600 --> 0:04:52.240
<v Speaker 1>transferred to that stylus get transformed into an electric signal

0:04:52.440 --> 0:04:55.320
<v Speaker 1>thanks to a tiny electro magnet that then can be

0:04:55.360 --> 0:04:58.320
<v Speaker 1>amplified and sent to speakers, and then we get playback.

0:04:58.920 --> 0:05:03.040
<v Speaker 1>With traditional hard drive, we're not talking about physical grooves. Instead,

0:05:03.080 --> 0:05:05.719
<v Speaker 1>we're using the read right head, which is able to

0:05:05.760 --> 0:05:10.359
<v Speaker 1>generate and detect magnetic fields, so it can align magnetic

0:05:10.480 --> 0:05:13.440
<v Speaker 1>particles that are on the hard disk platter, and those

0:05:13.440 --> 0:05:17.640
<v Speaker 1>particles based on their alignment, can represent zeros and ones,

0:05:18.000 --> 0:05:21.800
<v Speaker 1>you know, bits, the basic language of computers. This, by

0:05:21.839 --> 0:05:23.880
<v Speaker 1>the way, is why you may have heard that you

0:05:23.880 --> 0:05:28.080
<v Speaker 1>should keep powerful magnets away from computers. If that computer

0:05:28.160 --> 0:05:32.239
<v Speaker 1>relies on any type of magnetic storage, a powerful magnet

0:05:32.320 --> 0:05:35.800
<v Speaker 1>could change the alignment of the particles on that platter,

0:05:36.360 --> 0:05:39.200
<v Speaker 1>and that would destroy the data stored on it. You

0:05:39.240 --> 0:05:41.159
<v Speaker 1>could do that on purpose too, in an effort to

0:05:41.160 --> 0:05:44.440
<v Speaker 1>make an old hard drive unreadable, you know, to conceal

0:05:44.560 --> 0:05:48.600
<v Speaker 1>whatever had been stored on the drive. We call this degassing,

0:05:48.720 --> 0:05:51.279
<v Speaker 1>and uh, it's an important step. If you were to

0:05:51.320 --> 0:05:55.520
<v Speaker 1>ever like retire a computer and you want to maybe

0:05:55.600 --> 0:05:58.320
<v Speaker 1>donate it, or sell it or or give it away,

0:05:59.240 --> 0:06:01.279
<v Speaker 1>chances are you want to make sure that anything that

0:06:01.400 --> 0:06:05.480
<v Speaker 1>you had stored on that computer is well and truly gone.

0:06:05.920 --> 0:06:08.680
<v Speaker 1>You don't want it to resurface at some point. It

0:06:08.760 --> 0:06:11.760
<v Speaker 1>might have some sensitive information on there, So that's one

0:06:11.800 --> 0:06:15.200
<v Speaker 1>reason you might want to decoss an old computer. But

0:06:15.320 --> 0:06:18.839
<v Speaker 1>flash drives don't use magnetism to store data, So you

0:06:18.839 --> 0:06:21.440
<v Speaker 1>could bring a powerful magnet near a solid state drive

0:06:21.560 --> 0:06:24.279
<v Speaker 1>and you would not change a single bit of data

0:06:24.360 --> 0:06:28.160
<v Speaker 1>that's stored on that device. So a flash or solid

0:06:28.200 --> 0:06:33.239
<v Speaker 1>state drive isn't susceptible to the gossing. That's good and bad.

0:06:33.760 --> 0:06:35.280
<v Speaker 1>It's bad only if you're trying to come up with

0:06:35.320 --> 0:06:39.000
<v Speaker 1>a way to prevent someone from retrieving data that was

0:06:39.040 --> 0:06:41.080
<v Speaker 1>once stored on that flash drive. You would have to

0:06:41.080 --> 0:06:44.920
<v Speaker 1>take a different approach in order to do that. Now,

0:06:44.960 --> 0:06:47.800
<v Speaker 1>the listener who left this request and my apologies but

0:06:47.960 --> 0:06:50.320
<v Speaker 1>I don't actually have your name, mentioned that he was

0:06:50.400 --> 0:06:53.520
<v Speaker 1>familiar with flash from ages back and referred to I

0:06:53.720 --> 0:06:57.880
<v Speaker 1>PROM Now I'm assuming he means e E p R

0:06:57.960 --> 0:07:00.200
<v Speaker 1>O M, but he could have meant E E p

0:07:00.480 --> 0:07:03.800
<v Speaker 1>R O M will cover both. So E E p

0:07:04.080 --> 0:07:09.120
<v Speaker 1>r O M stands for electronically eraseable programmable read only memory,

0:07:09.440 --> 0:07:13.160
<v Speaker 1>and it is kind of a forerunner to flash. It's

0:07:13.200 --> 0:07:18.160
<v Speaker 1>sort of the foundation that flash would be built upon,

0:07:18.280 --> 0:07:22.880
<v Speaker 1>although the two are distinct. So let's talk about read

0:07:22.920 --> 0:07:27.520
<v Speaker 1>only memory for a second because it's that's also important. Now,

0:07:27.680 --> 0:07:32.080
<v Speaker 1>I already mentioned RAM, that's random access memory. RAM is

0:07:32.160 --> 0:07:35.280
<v Speaker 1>volatile and it is rewriteable, meaning you can read or

0:07:35.360 --> 0:07:37.760
<v Speaker 1>overwrite data stored in RAM as much as you like.

0:07:38.480 --> 0:07:43.000
<v Speaker 1>Read Only memory or ROM is different, as the name indicates,

0:07:43.440 --> 0:07:48.400
<v Speaker 1>you usually can only read data from a ROM storage

0:07:48.520 --> 0:07:52.600
<v Speaker 1>source like a WRAM micro chip, but you aren't typically

0:07:52.680 --> 0:07:56.880
<v Speaker 1>able to write new data to a ROM. With computers,

0:07:56.920 --> 0:08:00.760
<v Speaker 1>we usually find very important basic level process is stored

0:08:00.760 --> 0:08:03.760
<v Speaker 1>in ROMs, such as the boot sequence for a computer,

0:08:03.920 --> 0:08:06.640
<v Speaker 1>so that your machine goes through all the necessary steps

0:08:06.960 --> 0:08:10.280
<v Speaker 1>to swing into working order. You wouldn't want to overwrite

0:08:10.360 --> 0:08:13.400
<v Speaker 1>that stuff. These are the most basic instructions needed to

0:08:13.560 --> 0:08:16.720
<v Speaker 1>make the machine work. If you're in the main or

0:08:16.880 --> 0:08:21.240
<v Speaker 1>multi arcade machine emulator scene, you might think of ROMs

0:08:21.280 --> 0:08:24.360
<v Speaker 1>as the code for a specific arcade game. In the

0:08:24.400 --> 0:08:29.280
<v Speaker 1>old days of arcades, manufacturers would program games on actual microchips.

0:08:29.760 --> 0:08:32.640
<v Speaker 1>The game was never meant to change, and so programming

0:08:32.679 --> 0:08:35.439
<v Speaker 1>them on rom's made perfect sense. So if you were

0:08:35.440 --> 0:08:38.000
<v Speaker 1>to open up one of those classic arcade machines, you

0:08:38.040 --> 0:08:41.720
<v Speaker 1>would find circuit boards holding various chips, and that, in

0:08:41.800 --> 0:08:44.880
<v Speaker 1>fact would be the game. It's not from a disk

0:08:45.080 --> 0:08:47.480
<v Speaker 1>or anything like that, unless you're talking about a game

0:08:47.520 --> 0:08:51.080
<v Speaker 1>like Dragons Layer, which in fact used laser desk technology.

0:08:51.120 --> 0:08:54.120
<v Speaker 1>But that's beside the point, and those games were stored

0:08:54.240 --> 0:08:58.800
<v Speaker 1>on read only memory. However, e E PROM E PROM

0:08:58.880 --> 0:09:03.679
<v Speaker 1>also includes the allotronically erasable programmable part. Right, So clearly

0:09:04.040 --> 0:09:08.520
<v Speaker 1>I PROM is not exactly like traditional ROM. It is

0:09:08.880 --> 0:09:14.040
<v Speaker 1>user modifiable. Users can erase and reprogram individual bytes of

0:09:14.120 --> 0:09:17.959
<v Speaker 1>data stored on I PROM. This in itself was an

0:09:18.000 --> 0:09:22.599
<v Speaker 1>evolution of single E E PROM E P R O

0:09:23.040 --> 0:09:27.840
<v Speaker 1>M that was just eraseable programmable read only memory and listener.

0:09:27.880 --> 0:09:31.080
<v Speaker 1>If this is what you were referring to, my apologies, Uh,

0:09:31.120 --> 0:09:33.600
<v Speaker 1>it means that you go further back than I anticipated.

0:09:34.080 --> 0:09:38.240
<v Speaker 1>So uh, E PROM actually was another form of PROM

0:09:38.360 --> 0:09:42.000
<v Speaker 1>that's programmable read only memory. You might wonder what's the

0:09:42.000 --> 0:09:44.920
<v Speaker 1>difference between E PROM with a single E and e

0:09:45.080 --> 0:09:47.680
<v Speaker 1>PROM with a double E, and it really is that

0:09:47.840 --> 0:09:53.240
<v Speaker 1>electronically eraseable part. So with the old e PROM chips

0:09:53.280 --> 0:09:57.040
<v Speaker 1>one E, you could technically erase data that was stored

0:09:57.080 --> 0:09:59.920
<v Speaker 1>on that chip. However, to do so, you first had

0:10:00.080 --> 0:10:02.640
<v Speaker 1>to expose the chip to ultra violet light for a

0:10:02.640 --> 0:10:07.240
<v Speaker 1>good long while, like an hour. So imagine having to

0:10:07.280 --> 0:10:10.000
<v Speaker 1>wait an hour in order to erase data that was

0:10:10.080 --> 0:10:13.200
<v Speaker 1>stored on a chip so that you could write over

0:10:13.240 --> 0:10:16.520
<v Speaker 1>it again. Obviously, that would not be viable for your

0:10:16.559 --> 0:10:19.880
<v Speaker 1>average user. Data on a double E e PROM, on

0:10:19.960 --> 0:10:23.040
<v Speaker 1>the other hand, could be erased by applying a slightly

0:10:23.120 --> 0:10:27.160
<v Speaker 1>higher than normal electrical voltage to the chip. Now, as

0:10:27.200 --> 0:10:30.079
<v Speaker 1>you might imagine, that's way less work than exposing a

0:10:30.160 --> 0:10:33.240
<v Speaker 1>chip to ultra violet light, and it made e PROM

0:10:33.760 --> 0:10:39.520
<v Speaker 1>storage viable for specific applications, not yet to the point

0:10:39.559 --> 0:10:43.120
<v Speaker 1>of a solid state drive. Now, before I jump into

0:10:43.160 --> 0:10:46.199
<v Speaker 1>what makes flash work, remember flash is kind of an

0:10:46.240 --> 0:10:50.200
<v Speaker 1>evolution of e PROM. But let's let's talk about the

0:10:50.320 --> 0:10:53.680
<v Speaker 1>history of flash. So i PROM dates back a few decades,

0:10:54.160 --> 0:10:56.480
<v Speaker 1>and flash we can actually trace back to the mid

0:10:56.600 --> 0:11:01.800
<v Speaker 1>nineteen eighties. Dr Fugio Massuoka, who was working for Tashiba,

0:11:01.960 --> 0:11:05.920
<v Speaker 1>developed flash memory. Masuoka said that the name flash was

0:11:05.960 --> 0:11:10.400
<v Speaker 1>actually suggested by a colleague, Mr. Shoji are Zumi, because

0:11:10.679 --> 0:11:14.360
<v Speaker 1>Razumi felt that the process of a racing store data

0:11:14.440 --> 0:11:17.760
<v Speaker 1>off the the flash method was very similar to an

0:11:17.760 --> 0:11:21.520
<v Speaker 1>old school cameras flash. Now, I suspect that some of

0:11:21.559 --> 0:11:23.880
<v Speaker 1>you all out there might not have had that much

0:11:23.920 --> 0:11:28.280
<v Speaker 1>experience with flash cameras because everyone's using their phones, and

0:11:28.400 --> 0:11:31.400
<v Speaker 1>I mean some people have like the little led flash

0:11:31.600 --> 0:11:33.760
<v Speaker 1>on their phones. But it's totally different from the old

0:11:33.760 --> 0:11:37.760
<v Speaker 1>flash cameras, which used capacitors to generate a very quick,

0:11:37.960 --> 0:11:40.160
<v Speaker 1>very bright flash of light when you were taking a

0:11:40.160 --> 0:11:44.199
<v Speaker 1>picture in low light situations. And flash cameras used to

0:11:44.240 --> 0:11:46.240
<v Speaker 1>be huge, and of course they still are being used

0:11:46.240 --> 0:11:48.920
<v Speaker 1>in some settings, like professionals of course still use them,

0:11:49.400 --> 0:11:51.520
<v Speaker 1>but a lot of I think a lot of the

0:11:51.520 --> 0:11:54.640
<v Speaker 1>average people out there probably have had limited access to

0:11:54.720 --> 0:11:57.880
<v Speaker 1>them if they are below a certain age. I'm of

0:11:57.920 --> 0:12:00.960
<v Speaker 1>an age where I remember flash being like just standard

0:12:01.000 --> 0:12:03.920
<v Speaker 1>on cameras, like you really needed it or else. Any

0:12:03.960 --> 0:12:07.800
<v Speaker 1>picture you took indoors was not going to come out properly. Anyway,

0:12:08.080 --> 0:12:11.600
<v Speaker 1>the actual methodology for storing data on a flash drive

0:12:12.040 --> 0:12:15.120
<v Speaker 1>was really clever. I'll talk about that more after we

0:12:15.200 --> 0:12:25.679
<v Speaker 1>come back from this break. Okay, let's talk about how

0:12:25.960 --> 0:12:30.320
<v Speaker 1>flash data is stored in the first place. Imagine you

0:12:30.440 --> 0:12:35.120
<v Speaker 1>have a grid, so you've got columns and you've got rows.

0:12:36.120 --> 0:12:40.880
<v Speaker 1>Each box in this grid, each cell within that grid

0:12:41.240 --> 0:12:45.719
<v Speaker 1>has two transistors located at each of the intersections around it.

0:12:46.400 --> 0:12:49.120
<v Speaker 1>One of those transistors is what we would call a

0:12:49.240 --> 0:12:53.040
<v Speaker 1>floating gate transistor, which holds a charge inside it. The

0:12:53.120 --> 0:12:57.320
<v Speaker 1>other is a metal oxide silicon or moss transistor and

0:12:57.400 --> 0:13:01.160
<v Speaker 1>serves as the control gate. Uh now, I guess I'm

0:13:01.160 --> 0:13:04.560
<v Speaker 1>gonna need to talk about gates. As we're using floating

0:13:04.559 --> 0:13:06.880
<v Speaker 1>gate and control gate. That doesn't really mean anything unless

0:13:06.920 --> 0:13:10.240
<v Speaker 1>you dive a little further in. So gates are really

0:13:10.320 --> 0:13:13.960
<v Speaker 1>that's shorthand for logic gates, and this serves as the

0:13:14.000 --> 0:13:19.280
<v Speaker 1>foundation for any circuitry system uh, specifically digital systems. So

0:13:19.360 --> 0:13:21.880
<v Speaker 1>with a logic gate, you've got a circuit that at

0:13:21.920 --> 0:13:25.360
<v Speaker 1>least has at least one input, and it can have

0:13:25.440 --> 0:13:27.880
<v Speaker 1>more than one, but has at least one, and it

0:13:27.960 --> 0:13:32.280
<v Speaker 1>has only a single output. And what is being input

0:13:32.400 --> 0:13:36.400
<v Speaker 1>and output in this case, well, we're talking electric charges. Uh.

0:13:36.400 --> 0:13:40.000
<v Speaker 1>These circuits provide specific functions which we designate with names

0:13:40.000 --> 0:13:46.960
<v Speaker 1>like and or not nor nand and so on. Those

0:13:47.040 --> 0:13:50.559
<v Speaker 1>names tell us how the gates behave and the output

0:13:50.600 --> 0:13:53.760
<v Speaker 1>that they will produce based upon the type of input

0:13:54.240 --> 0:13:59.040
<v Speaker 1>coming into the gate. For example, a simple and gate

0:13:59.480 --> 0:14:02.920
<v Speaker 1>might have two inputs and will refer to these inputs

0:14:03.000 --> 0:14:05.920
<v Speaker 1>as input A and input B, and it has a

0:14:05.960 --> 0:14:09.560
<v Speaker 1>single output. Remember all gates have a single output we'll

0:14:09.559 --> 0:14:14.200
<v Speaker 1>call the output X. There are four possible scenarios with

0:14:14.280 --> 0:14:18.400
<v Speaker 1>this gate, which we will represent using binary data or bits.

0:14:18.480 --> 0:14:21.840
<v Speaker 1>That's that is, zeros and ones. So instead of talking

0:14:21.840 --> 0:14:24.920
<v Speaker 1>about electric charges. We're gonna talk about feeding zeros and

0:14:25.040 --> 0:14:27.680
<v Speaker 1>ones to a logic gate through its inputs and what

0:14:27.960 --> 0:14:31.680
<v Speaker 1>is generated as an output. Now you've got your and

0:14:32.000 --> 0:14:35.360
<v Speaker 1>logic gate, and let's say that you feed zeros to

0:14:35.520 --> 0:14:39.880
<v Speaker 1>both input A and input B. Well, and AND gate

0:14:40.080 --> 0:14:44.440
<v Speaker 1>will then produce a zero as the output. So output

0:14:44.720 --> 0:14:47.760
<v Speaker 1>X will generate a zero. Now let's say that you

0:14:47.840 --> 0:14:50.680
<v Speaker 1>feed a zero to input A and a one to

0:14:50.840 --> 0:14:55.040
<v Speaker 1>input B to your hand gate. Well, the X output

0:14:55.160 --> 0:14:58.560
<v Speaker 1>will still be zero. In fact, the only way that

0:14:58.680 --> 0:15:02.880
<v Speaker 1>the X will equal one is if both A and

0:15:03.040 --> 0:15:07.240
<v Speaker 1>B inputs are ones. That's why it's called an and gate.

0:15:07.600 --> 0:15:11.520
<v Speaker 1>The gate produces a one if all inputs going into

0:15:11.520 --> 0:15:14.560
<v Speaker 1>the gate are also ones. And remember like we're talking

0:15:14.560 --> 0:15:18.040
<v Speaker 1>about a simple example here where we have two inputs,

0:15:18.040 --> 0:15:20.160
<v Speaker 1>but you could have more than two inputs going into

0:15:20.200 --> 0:15:22.960
<v Speaker 1>a single gate, but it would have to be all

0:15:23.200 --> 0:15:25.840
<v Speaker 1>ones going into that gate for the gate to produce

0:15:26.000 --> 0:15:29.560
<v Speaker 1>a one. On the other side, with flash drives, we're

0:15:29.560 --> 0:15:34.240
<v Speaker 1>talking about NOR or nand architectures, So a NOR gate

0:15:34.320 --> 0:15:37.520
<v Speaker 1>will only produce a one if all inputs going into

0:15:37.600 --> 0:15:41.640
<v Speaker 1>the gate are at zero. So if input A zero

0:15:41.800 --> 0:15:45.680
<v Speaker 1>input via zero, then x will equal one. But with

0:15:45.720 --> 0:15:48.400
<v Speaker 1>any other combination, like if you have all ones or

0:15:48.400 --> 0:15:51.040
<v Speaker 1>a combination of zeros and ones going in as input,

0:15:51.520 --> 0:15:55.280
<v Speaker 1>the output is going to be a zero. A nand

0:15:55.360 --> 0:15:59.520
<v Speaker 1>gate is a not and gate. This will produce a

0:15:59.560 --> 0:16:03.640
<v Speaker 1>one out put in every single case, except when all

0:16:03.720 --> 0:16:07.080
<v Speaker 1>inputs are ones. So if you've got two or more

0:16:07.200 --> 0:16:09.520
<v Speaker 1>zeros going into a nand gate, you're gonna get a

0:16:09.560 --> 0:16:12.000
<v Speaker 1>one coming out. If you get a combination of ones

0:16:12.040 --> 0:16:14.320
<v Speaker 1>and zeros, you're gonna get a one coming out. If

0:16:14.320 --> 0:16:18.080
<v Speaker 1>all the inputs are ones, you get a zero coming out. Now,

0:16:18.760 --> 0:16:22.000
<v Speaker 1>these are the functions gates can serve, and you can

0:16:22.040 --> 0:16:25.200
<v Speaker 1>actually program stuff by creating all these different logic gates

0:16:25.240 --> 0:16:31.680
<v Speaker 1>in a various series in order to produce particular you know, outcomes.

0:16:31.720 --> 0:16:34.400
<v Speaker 1>But let's talk about the gates themselves. So we're talking

0:16:34.440 --> 0:16:38.720
<v Speaker 1>about transistors here. The transistors and electric circuits can serve

0:16:38.800 --> 0:16:42.000
<v Speaker 1>as a type of switch, either allowing data to pass

0:16:42.040 --> 0:16:46.680
<v Speaker 1>through or not. On one side of the transistor, you

0:16:46.760 --> 0:16:49.600
<v Speaker 1>have the source that is the place where input is

0:16:49.640 --> 0:16:52.520
<v Speaker 1>coming from, and on the other side of the gate,

0:16:52.600 --> 0:16:55.640
<v Speaker 1>you have the drain that's the place where the output

0:16:55.840 --> 0:16:59.640
<v Speaker 1>is going to. With a standard moss fat transistor. A

0:16:59.720 --> 0:17:04.640
<v Speaker 1>moss FET stands for metal oxide semiconductor field effect transistor.

0:17:05.280 --> 0:17:08.879
<v Speaker 1>You would open the gate or you know, turn the

0:17:08.920 --> 0:17:13.000
<v Speaker 1>switch on by placing a charge on the gates electrode.

0:17:13.440 --> 0:17:17.560
<v Speaker 1>That would turn the semiconductor transistor into a conductor and

0:17:17.600 --> 0:17:21.040
<v Speaker 1>allow electricity to flow through. Removing the charge from that

0:17:21.119 --> 0:17:25.800
<v Speaker 1>electrode makes the semiconductor transistor behave like an insulator. That's

0:17:25.840 --> 0:17:29.280
<v Speaker 1>the big deal with transistors. They can, depending on the situation,

0:17:29.720 --> 0:17:33.200
<v Speaker 1>act either as a conductor or insulator. They can either

0:17:33.280 --> 0:17:37.719
<v Speaker 1>allow a charge to move through or prevent it. All right, Now,

0:17:37.800 --> 0:17:41.600
<v Speaker 1>let's talk about a floating gate transistor that has an

0:17:41.600 --> 0:17:45.680
<v Speaker 1>extra piece to it. The floating gate is electrically isolated

0:17:45.920 --> 0:17:49.840
<v Speaker 1>from the rest of the transistor. That isolation is key

0:17:50.000 --> 0:17:52.560
<v Speaker 1>because it means once you store a charge in a

0:17:52.600 --> 0:17:56.520
<v Speaker 1>floating gate, that charge will stay there. And that's because

0:17:56.560 --> 0:17:59.720
<v Speaker 1>the floating gate isn't connected to a drain where the

0:18:00.040 --> 0:18:03.720
<v Speaker 1>charge could otherwise go. This gets a bit tricky to

0:18:03.800 --> 0:18:06.399
<v Speaker 1>explain without visual aids, but I'll give it a go.

0:18:06.880 --> 0:18:09.040
<v Speaker 1>All right, So with a flash drive, we've got your

0:18:09.119 --> 0:18:12.080
<v Speaker 1>control gate, and we've got your floating gate, and an

0:18:12.080 --> 0:18:16.080
<v Speaker 1>intersection in this grid of rows and columns. The rows

0:18:16.160 --> 0:18:19.160
<v Speaker 1>of the grid are the word line, and the word

0:18:19.240 --> 0:18:22.639
<v Speaker 1>line goes through the control gate. With that link, the

0:18:22.720 --> 0:18:25.399
<v Speaker 1>cell and flash memory holds the value of one, so

0:18:25.480 --> 0:18:29.160
<v Speaker 1>by default, all the cells in flash memory are set

0:18:29.320 --> 0:18:32.760
<v Speaker 1>to one, not to zero. To change any cell to

0:18:32.840 --> 0:18:35.000
<v Speaker 1>the value of zero, you actually have to put in

0:18:35.040 --> 0:18:39.119
<v Speaker 1>some work. So the rows are the word line. What

0:18:39.280 --> 0:18:43.439
<v Speaker 1>then are the columns, Well, that's called the bitline. The

0:18:43.520 --> 0:18:46.800
<v Speaker 1>bitline can carry a charge to the floating gate by

0:18:46.800 --> 0:18:50.320
<v Speaker 1>pushing the charge through at a slightly higher voltage than

0:18:50.400 --> 0:18:53.280
<v Speaker 1>what is used for the control gate. That's enough for

0:18:53.359 --> 0:18:57.600
<v Speaker 1>electrons to bridge the gap of the otherwise isolated floating gate,

0:18:57.960 --> 0:19:00.520
<v Speaker 1>and the floating gate will then hold a negative of charge.

0:19:00.600 --> 0:19:04.800
<v Speaker 1>Because electrons are negatively charged sub atomic particles, and this

0:19:04.840 --> 0:19:09.399
<v Speaker 1>process is called the Fouler nord Heim tunneling process. The

0:19:09.440 --> 0:19:12.000
<v Speaker 1>collection of electrons in the floating gate then becomes kind

0:19:12.000 --> 0:19:15.760
<v Speaker 1>of a negatively charged force field between the floating gate

0:19:15.800 --> 0:19:19.040
<v Speaker 1>and the control gate. A cell sensor monitors how much

0:19:19.119 --> 0:19:21.960
<v Speaker 1>charge passes through the floating gate, and if the flow

0:19:22.520 --> 0:19:25.400
<v Speaker 1>is above a certain threshold, the value of the cell

0:19:25.520 --> 0:19:28.960
<v Speaker 1>is interpreted as a one. If the value is below

0:19:29.280 --> 0:19:32.879
<v Speaker 1>this threshold, the value within the cell is considered to

0:19:32.880 --> 0:19:35.520
<v Speaker 1>be zero. So another way to think about it is

0:19:35.560 --> 0:19:38.960
<v Speaker 1>that if the cell conducts a current, it's representing one.

0:19:39.280 --> 0:19:42.120
<v Speaker 1>If it is acting more like an insulator, it's representing

0:19:42.440 --> 0:19:47.119
<v Speaker 1>a zero. To return the cell value to one, you

0:19:47.200 --> 0:19:51.919
<v Speaker 1>have to apply a higher voltage electric field to the cell.

0:19:52.359 --> 0:19:55.760
<v Speaker 1>And really this process typically targets sections of the flash

0:19:55.800 --> 0:19:59.320
<v Speaker 1>memory called blocks, particularly for the type of flash memory

0:19:59.320 --> 0:20:04.840
<v Speaker 1>that we who's frequently um and sometimes you might even

0:20:04.920 --> 0:20:09.080
<v Speaker 1>have to target the entire flash chip itself and boiled down.

0:20:09.200 --> 0:20:12.640
<v Speaker 1>By controlling the voltage to the control and floating gates

0:20:12.640 --> 0:20:15.520
<v Speaker 1>of the transistors on the solid state drive, you can

0:20:15.560 --> 0:20:20.640
<v Speaker 1>create the zeros that represent the data. Remember it's by

0:20:20.680 --> 0:20:24.320
<v Speaker 1>default it's set at one, So really creating zeros is

0:20:24.320 --> 0:20:27.479
<v Speaker 1>what is writing data to that. Otherwise you just have,

0:20:28.160 --> 0:20:32.159
<v Speaker 1>you know, a block of ones. So erasing flash memory

0:20:32.200 --> 0:20:34.520
<v Speaker 1>really just means turning all the cells within the memory

0:20:34.520 --> 0:20:37.040
<v Speaker 1>to one, and writing to flash memory really just turning

0:20:37.280 --> 0:20:40.600
<v Speaker 1>means turning selective cells to zero. So let's say you're

0:20:40.600 --> 0:20:44.359
<v Speaker 1>starting off with a bite of blank flash memory. Uh,

0:20:44.400 --> 0:20:47.840
<v Speaker 1>that would be eight ones. So a bite is eight bits, right,

0:20:47.880 --> 0:20:51.000
<v Speaker 1>and we've established that a blank cell is a cell

0:20:51.040 --> 0:20:54.320
<v Speaker 1>that's holding a one within it. Let's say you want

0:20:54.359 --> 0:20:57.639
<v Speaker 1>to write a bite that is actually zero followed by

0:20:57.720 --> 0:21:02.600
<v Speaker 1>seven ones. You could theoretically keep writing to that same bite.

0:21:02.680 --> 0:21:06.240
<v Speaker 1>You could change you could reprogram that byte by changing

0:21:06.359 --> 0:21:10.760
<v Speaker 1>other ones in that series to zeros over time. You

0:21:10.800 --> 0:21:13.760
<v Speaker 1>could not, however, change in these zeros back to ones

0:21:14.400 --> 0:21:18.160
<v Speaker 1>without erasing the entire byte, really, without erasing the entire

0:21:18.200 --> 0:21:21.440
<v Speaker 1>block that the bite is on. So you could write

0:21:21.520 --> 0:21:24.600
<v Speaker 1>data in the form of zero one zero one, zero

0:21:24.680 --> 0:21:28.440
<v Speaker 1>one zero one, but you could not then go back

0:21:28.480 --> 0:21:32.359
<v Speaker 1>to zero followed by seven ones without first erasing everything

0:21:32.400 --> 0:21:36.280
<v Speaker 1>and starting over. It gets a little confusing. Don't worry,

0:21:36.480 --> 0:21:39.360
<v Speaker 1>it will get more confusing. I should also mention there's

0:21:39.400 --> 0:21:42.879
<v Speaker 1>also flash RAM. But that's the type of volatile memory,

0:21:42.920 --> 0:21:45.720
<v Speaker 1>meaning if it does lose power, then any information stored

0:21:45.760 --> 0:21:48.720
<v Speaker 1>within that memory is lost. This is the type of

0:21:48.760 --> 0:21:51.880
<v Speaker 1>memory found in things like car radio systems, where you've

0:21:51.960 --> 0:21:56.520
<v Speaker 1>maybe stored preset radio stations and such. So you might think,

0:21:56.560 --> 0:21:59.600
<v Speaker 1>but my radio stations stay on even after I'm you know,

0:21:59.640 --> 0:22:02.359
<v Speaker 1>turn off the car and I get out and do whatever.

0:22:02.880 --> 0:22:05.120
<v Speaker 1>But when your car is off, that system is still

0:22:05.160 --> 0:22:07.920
<v Speaker 1>drawing a very tiny amount of power from your car's

0:22:07.960 --> 0:22:11.520
<v Speaker 1>battery in order to maintain those settings. However, if your

0:22:11.600 --> 0:22:15.040
<v Speaker 1>vehicle were to totally lose power, like let's say you

0:22:15.080 --> 0:22:18.440
<v Speaker 1>had the battery completely removed, then you would lose that

0:22:18.560 --> 0:22:22.280
<v Speaker 1>data and you would have to reset all your favorite stations. Okay,

0:22:23.000 --> 0:22:25.199
<v Speaker 1>when we come back, we'll get into a little bit

0:22:25.200 --> 0:22:29.680
<v Speaker 1>more detail about NAND versus NOR architectures, because flash comes

0:22:29.720 --> 0:22:33.159
<v Speaker 1>in both, and we'll talk a bit more about how

0:22:33.520 --> 0:22:38.679
<v Speaker 1>flash is organized by architecture. Uh trust me, it actually

0:22:38.760 --> 0:22:42.040
<v Speaker 1>is really interesting. It does get a bit complicated, don't worry.

0:22:42.520 --> 0:22:44.679
<v Speaker 1>I'm here with you every step of the way. But

0:22:44.800 --> 0:22:55.800
<v Speaker 1>first let's take a quick break. Okay. I mentioned earlier

0:22:55.960 --> 0:23:00.399
<v Speaker 1>that flash typically comes in NAND and NOR architect ictures,

0:23:00.800 --> 0:23:02.960
<v Speaker 1>and the NAND architecture is the one most of us

0:23:02.960 --> 0:23:05.440
<v Speaker 1>have experience with. It's the type of memory used for

0:23:05.920 --> 0:23:10.639
<v Speaker 1>SD cards, USB flash drives, and computer solid state drives.

0:23:11.359 --> 0:23:15.680
<v Speaker 1>NOR is usually used for storing digital configuration information. Uh

0:23:15.840 --> 0:23:20.640
<v Speaker 1>nand flash has transistors in grid wired in series. NOR

0:23:20.800 --> 0:23:24.639
<v Speaker 1>flash has its transistors or cells wired in parallel. That

0:23:24.920 --> 0:23:30.840
<v Speaker 1>architecture does matter because with NOR you can actually program

0:23:30.840 --> 0:23:32.919
<v Speaker 1>at the bite level. You can write and rewrite at

0:23:32.920 --> 0:23:35.679
<v Speaker 1>the bite level. When nand you have to do it

0:23:35.760 --> 0:23:37.960
<v Speaker 1>at a much larger level, which we'll get to in

0:23:37.960 --> 0:23:41.760
<v Speaker 1>a second. And we're gonna stick with nand because again

0:23:41.800 --> 0:23:44.960
<v Speaker 1>that's the type most of us interact with regularly. The

0:23:45.119 --> 0:23:49.120
<v Speaker 1>organization of a nand flash drive goes with cell, which

0:23:49.160 --> 0:23:52.159
<v Speaker 1>is your individual unit in which you know you're storing

0:23:52.200 --> 0:23:56.119
<v Speaker 1>either a zero or a one one by default. Next,

0:23:56.480 --> 0:24:00.120
<v Speaker 1>you have strings, and as that name suggests, a string

0:24:00.280 --> 0:24:02.840
<v Speaker 1>is a series of cells that are connected to one another,

0:24:03.240 --> 0:24:06.159
<v Speaker 1>where the source of one cell connects to the drain

0:24:06.400 --> 0:24:10.480
<v Speaker 1>of the next cell. One level up from strings, and

0:24:10.560 --> 0:24:14.440
<v Speaker 1>you have pages. So a page is a collection of strings.

0:24:15.119 --> 0:24:18.840
<v Speaker 1>A collection of pages makes up a block, and a

0:24:18.920 --> 0:24:24.560
<v Speaker 1>collection of blocks connected through the same bitline makes a plane. Finally,

0:24:24.640 --> 0:24:27.639
<v Speaker 1>you've got the flash dye, which consists of one of

0:24:27.880 --> 0:24:31.119
<v Speaker 1>or more planes, plus all the components that allow the

0:24:31.240 --> 0:24:36.360
<v Speaker 1>drive to write, erase, and read data in those cells. Now,

0:24:36.400 --> 0:24:39.280
<v Speaker 1>this arrangement allows the drive to read and write on

0:24:39.600 --> 0:24:43.879
<v Speaker 1>a page level. So that's as far down as the

0:24:43.920 --> 0:24:47.480
<v Speaker 1>read right functions go as to the level of page. Remember,

0:24:48.000 --> 0:24:52.680
<v Speaker 1>you have cells, strings, then pages, so read write is

0:24:52.720 --> 0:24:55.960
<v Speaker 1>at the page level, and if you want to do

0:24:56.040 --> 0:24:58.840
<v Speaker 1>a race, you actually have to go up to the

0:24:58.960 --> 0:25:01.800
<v Speaker 1>level of a block. So to erase data from a

0:25:01.840 --> 0:25:04.760
<v Speaker 1>flash drive, you work in blocks. So let's say you've

0:25:04.800 --> 0:25:08.320
<v Speaker 1>got some data that's stored within a block, and there's

0:25:08.359 --> 0:25:11.040
<v Speaker 1>technically room for more data to be stored there, right,

0:25:11.080 --> 0:25:15.320
<v Speaker 1>So let's say that half of that block is filled

0:25:15.760 --> 0:25:19.560
<v Speaker 1>but the other half is available. Well, you want to

0:25:19.600 --> 0:25:22.240
<v Speaker 1>add more information to that block, but in order to

0:25:22.400 --> 0:25:25.880
<v Speaker 1>do that, you can't just write the information to the

0:25:26.040 --> 0:25:28.520
<v Speaker 1>end of the block. You would first need to erase

0:25:28.720 --> 0:25:33.080
<v Speaker 1>the block. So the way this actually works is that

0:25:33.280 --> 0:25:35.920
<v Speaker 1>first you would have a different block in the memory

0:25:36.080 --> 0:25:38.560
<v Speaker 1>which has been untouched. All the cells are set to one,

0:25:39.160 --> 0:25:42.639
<v Speaker 1>so that block is effectively blank. You would actually copy

0:25:42.800 --> 0:25:46.920
<v Speaker 1>over the information in the partially filled block and you

0:25:46.920 --> 0:25:50.000
<v Speaker 1>would store it in the new block, and then you

0:25:50.000 --> 0:25:52.520
<v Speaker 1>would add in the new data that you wanted to

0:25:52.560 --> 0:25:55.360
<v Speaker 1>say at the end of that. So it's like you're writing.

0:25:55.880 --> 0:25:58.640
<v Speaker 1>You're rewriting stuff that was already there and then writing

0:25:58.960 --> 0:26:01.920
<v Speaker 1>the new information at end of it. The old block,

0:26:02.040 --> 0:26:04.360
<v Speaker 1>the one you pulled from the one you copied, can

0:26:04.400 --> 0:26:07.560
<v Speaker 1>then be erased. All the cells can be reset to one.

0:26:08.359 --> 0:26:11.120
<v Speaker 1>Now this sounds messy, but I should add that when

0:26:11.160 --> 0:26:14.119
<v Speaker 1>I say you have to do this, it's not actually

0:26:14.480 --> 0:26:19.600
<v Speaker 1>you doing it, it's the computer. One drawback of flash

0:26:19.680 --> 0:26:23.680
<v Speaker 1>memory is that it can wear out over time. It's

0:26:23.720 --> 0:26:25.920
<v Speaker 1>not as big a deal now as it used to be,

0:26:26.080 --> 0:26:28.760
<v Speaker 1>and it never was a huge deal, but it was

0:26:28.800 --> 0:26:30.800
<v Speaker 1>something that you had to keep in mind. So you

0:26:30.880 --> 0:26:34.160
<v Speaker 1>have a finite number of a race and right cycles

0:26:34.520 --> 0:26:38.000
<v Speaker 1>or program a race cycles, also known as PE cycles.

0:26:39.040 --> 0:26:41.000
<v Speaker 1>See when I think of PE cycles, I think of

0:26:41.520 --> 0:26:46.280
<v Speaker 1>grade school and having to exercise. But no, over over time,

0:26:46.320 --> 0:26:48.760
<v Speaker 1>the cells will wear out and they won't hold a

0:26:48.800 --> 0:26:51.480
<v Speaker 1>written block of data properly. You can kind of think

0:26:51.480 --> 0:26:55.119
<v Speaker 1>of it in the way that um that batteries have

0:26:55.320 --> 0:26:58.679
<v Speaker 1>recharge cycles, and I have a limited number of those, right,

0:26:58.800 --> 0:27:04.159
<v Speaker 1>Like a battery capacity to hold a charge decreases over time,

0:27:04.640 --> 0:27:08.040
<v Speaker 1>and the more times you discharge and recharge a battery,

0:27:08.760 --> 0:27:13.040
<v Speaker 1>the closer you get to that that level where the

0:27:13.119 --> 0:27:17.040
<v Speaker 1>amount of energy it can store is no longer sufficient.

0:27:17.480 --> 0:27:21.359
<v Speaker 1>Same sort of thing with flash drives. But again, these days,

0:27:21.400 --> 0:27:24.960
<v Speaker 1>flash has advanced to a point where it's likely that

0:27:25.080 --> 0:27:27.399
<v Speaker 1>other components in your system are gonna wear out or

0:27:27.440 --> 0:27:30.040
<v Speaker 1>break before you ever have to worry about running up

0:27:30.040 --> 0:27:33.800
<v Speaker 1>against the limitations of flash memory. Um. And that's for

0:27:33.840 --> 0:27:37.320
<v Speaker 1>two reasons. One, the design of flash memory has improved

0:27:37.359 --> 0:27:42.760
<v Speaker 1>over time so that they can withstand more program erase cycles.

0:27:43.800 --> 0:27:48.440
<v Speaker 1>And two we've also been able to cram way more

0:27:48.600 --> 0:27:55.280
<v Speaker 1>memory into a flash drive over time, and so you

0:27:55.320 --> 0:27:59.560
<v Speaker 1>don't have to erase as often because you've cut so

0:27:59.640 --> 0:28:04.360
<v Speaker 1>much space to use. Now we all know, I mean

0:28:04.400 --> 0:28:08.280
<v Speaker 1>we should all know that when you create more space,

0:28:09.000 --> 0:28:11.800
<v Speaker 1>that doesn't mean that you suddenly have all the freedom

0:28:11.800 --> 0:28:16.600
<v Speaker 1>in the world. Because if you have space, at some point,

0:28:16.640 --> 0:28:19.679
<v Speaker 1>you're gonna find ways to fill it, right, Like I

0:28:19.720 --> 0:28:22.960
<v Speaker 1>remember Bay back in the day when I was very young,

0:28:23.800 --> 0:28:27.359
<v Speaker 1>you know, hearing something about like a computer that would

0:28:27.359 --> 0:28:30.600
<v Speaker 1>come like with a two D fifty six megabyte hard drive,

0:28:30.920 --> 0:28:33.240
<v Speaker 1>and I was, I was, I was boggled. I was like,

0:28:33.480 --> 0:28:36.720
<v Speaker 1>who would ever be able to fill up a hard

0:28:36.800 --> 0:28:39.800
<v Speaker 1>drive that was as massive as two D and fifty

0:28:39.800 --> 0:28:47.320
<v Speaker 1>six megabytes? That's just crazy? And of course that's nothing now, right, Like,

0:28:47.400 --> 0:28:53.479
<v Speaker 1>we don't even think about that being a significant amount

0:28:53.520 --> 0:28:57.200
<v Speaker 1>of storage these days, you know, you probably have programs

0:28:57.240 --> 0:29:01.239
<v Speaker 1>that are far larger than that at the time, I thought, well,

0:29:01.280 --> 0:29:05.200
<v Speaker 1>there's no way, which at this point, it doesn't matter

0:29:05.240 --> 0:29:07.400
<v Speaker 1>how big the drive is. I know that someone's going

0:29:07.440 --> 0:29:09.240
<v Speaker 1>to find a way to fill it up, and probably

0:29:09.320 --> 0:29:12.959
<v Speaker 1>way faster than I would anticipate. But these days, if

0:29:12.960 --> 0:29:15.280
<v Speaker 1>you look at solid state drives, you can find them

0:29:15.280 --> 0:29:19.400
<v Speaker 1>in the terabyte range. Right, They're holding terabytes of data

0:29:19.640 --> 0:29:22.320
<v Speaker 1>and these things can be really small. It's fascinating to

0:29:22.360 --> 0:29:27.240
<v Speaker 1>me how we've developed this technology. Uh. And it's due

0:29:27.240 --> 0:29:30.760
<v Speaker 1>to things like the manturization of transistors that it's even possible,

0:29:31.440 --> 0:29:35.200
<v Speaker 1>along with the improvement in architecture, so that you could

0:29:35.240 --> 0:29:39.440
<v Speaker 1>have this very dense storage system and a very small

0:29:39.520 --> 0:29:42.880
<v Speaker 1>form factor. Uh. Phenomenal to me that you can, you know,

0:29:43.120 --> 0:29:47.800
<v Speaker 1>pop onto a store and buy a two terabyte solid

0:29:47.880 --> 0:29:51.760
<v Speaker 1>state drive. Now, there are other benefits to solid state

0:29:51.840 --> 0:29:55.120
<v Speaker 1>drives too. Hard drives. You know, I mentioned before that

0:29:55.520 --> 0:29:58.720
<v Speaker 1>they are not prone to being a race if you

0:29:58.760 --> 0:30:01.360
<v Speaker 1>happen to be, you know, close to a large magnet.

0:30:01.960 --> 0:30:05.040
<v Speaker 1>But there are other big benefits as well. A solid

0:30:05.080 --> 0:30:08.360
<v Speaker 1>state drive has no moving parts in it, so it's

0:30:08.360 --> 0:30:11.200
<v Speaker 1>not as delicate as a hard drive is. A hard

0:30:11.280 --> 0:30:15.719
<v Speaker 1>drive like a mechanical shock, as in dropping it and

0:30:15.760 --> 0:30:19.440
<v Speaker 1>having it land on the floor. That could be enough

0:30:19.480 --> 0:30:22.840
<v Speaker 1>to break it. Right. It could unaligned the platter so

0:30:22.880 --> 0:30:26.040
<v Speaker 1>the platter is no longer in the proper plane, which

0:30:26.040 --> 0:30:29.120
<v Speaker 1>means it won't turn properly. It could damage the red

0:30:29.240 --> 0:30:32.560
<v Speaker 1>right head. You could do physical damage to a hard

0:30:32.680 --> 0:30:36.800
<v Speaker 1>drive relatively easily. I say relatively because I used to

0:30:36.800 --> 0:30:39.760
<v Speaker 1>have an MP three player that had a physical hard

0:30:39.800 --> 0:30:42.040
<v Speaker 1>drive in it, and goodness knows, I dropped it a

0:30:42.040 --> 0:30:44.239
<v Speaker 1>couple of times and I was just fortunate that it

0:30:44.280 --> 0:30:48.680
<v Speaker 1>was made exceedingly well and UM didn't immediately break the

0:30:48.720 --> 0:30:51.000
<v Speaker 1>hard drive. But yes, solid state drives are much more

0:30:51.040 --> 0:30:55.200
<v Speaker 1>resistant to physical damage than hard drives are. They're also

0:30:55.720 --> 0:30:58.240
<v Speaker 1>way faster because again, you don't have moving parts. You

0:30:58.280 --> 0:31:00.360
<v Speaker 1>don't have to spin a platter up to beat and

0:31:00.400 --> 0:31:03.480
<v Speaker 1>move the read right head to the proper physical location

0:31:03.520 --> 0:31:07.440
<v Speaker 1>on the platter to read the information. UM. For that reason,

0:31:07.520 --> 0:31:12.480
<v Speaker 1>you know, gamers really like solid state drives because games

0:31:12.480 --> 0:31:15.560
<v Speaker 1>will load much more quickly. You'll be able to load

0:31:15.680 --> 0:31:20.680
<v Speaker 1>information from the drive to memory to be processed faster

0:31:20.760 --> 0:31:23.080
<v Speaker 1>than you would with a physical hard drive. Again, when

0:31:23.120 --> 0:31:25.640
<v Speaker 1>we start talking about what is it in your computer

0:31:25.720 --> 0:31:30.000
<v Speaker 1>that makes it faster or slower drive. Drive type is

0:31:30.080 --> 0:31:33.760
<v Speaker 1>one of those factors, not necessarily the most important one,

0:31:34.280 --> 0:31:36.840
<v Speaker 1>but it is one of the factors. So I guess

0:31:36.880 --> 0:31:39.040
<v Speaker 1>I will do an episode. Maybe next week, I'll try

0:31:39.080 --> 0:31:42.160
<v Speaker 1>and do an episode about what are the things that

0:31:42.280 --> 0:31:46.400
<v Speaker 1>determine how fast or slow your computer is? Uh, because

0:31:46.400 --> 0:31:49.360
<v Speaker 1>I think that would be a fun discussion to have. Anyway,

0:31:49.440 --> 0:31:52.360
<v Speaker 1>that's kind of a low down on what flash memory

0:31:52.480 --> 0:31:55.280
<v Speaker 1>is and how it works. Like I said, it gets

0:31:55.320 --> 0:31:59.240
<v Speaker 1>a little complicated to understand without the use of visual aids. Fortunately,

0:31:59.640 --> 0:32:02.479
<v Speaker 1>there are tons of resources out there where you can

0:32:02.560 --> 0:32:07.920
<v Speaker 1>learn more about this, including videos and papers and diagrams

0:32:07.960 --> 0:32:11.440
<v Speaker 1>and such. Um there's an article and how stuff Works

0:32:11.480 --> 0:32:14.960
<v Speaker 1>my old Stomping Grounds that explains how flash memory works.

0:32:15.520 --> 0:32:17.440
<v Speaker 1>All of that can be really useful if you want

0:32:17.480 --> 0:32:19.800
<v Speaker 1>to learn more. I highly recommend you look into it.

0:32:20.160 --> 0:32:22.520
<v Speaker 1>Thank you so much for the suggestion. Remember, if you

0:32:22.560 --> 0:32:24.400
<v Speaker 1>want to leave me a suggestion, you can do like

0:32:24.440 --> 0:32:28.400
<v Speaker 1>this listener did and leave a message on the voice

0:32:28.680 --> 0:32:31.760
<v Speaker 1>talkback feature on I Heart radio app. Go to the

0:32:31.800 --> 0:32:35.800
<v Speaker 1>tech Stuff portion of I Heart Radio's app. Use that

0:32:35.840 --> 0:32:38.800
<v Speaker 1>little microphone icon. You can leave a message up to

0:32:38.840 --> 0:32:41.480
<v Speaker 1>thirty seconds and length, or you can reach out to

0:32:41.520 --> 0:32:44.320
<v Speaker 1>me on Twitter, the handle that we use as Text

0:32:44.320 --> 0:32:49.160
<v Speaker 1>Stuff HSW, and I'll talk to you again really soon.

0:32:54.440 --> 0:32:57.480
<v Speaker 1>Text Stuff is an I Heart Radio production. For more

0:32:57.560 --> 0:33:00.920
<v Speaker 1>podcasts from My Heart Radio, visit the heart Radio app,

0:33:01.080 --> 0:33:04.200
<v Speaker 1>Apple Podcasts, or wherever you listen to your favorite shows.

0:33:08.760 --> 0:33:08.800
<v Speaker 1>H