Re: Portable version degrading


 

Hi,
It'll depend on what type of drive it is. If it's a traditional hard drive,
it'll degrade as data moves around, creating the need for defragmentation.
This is especially the case when data is repeatedly written and the file
system is asked to find new locations to hold the constantly changing data.
In case of solid-state drives, it'll degrade if the same region is written
repeatedly, as flash memory has limited endurance when it comes to data
reads and writes.
In case of Roger's issue: a possible contributing factor is constant add-on
updates. He uses an add-on that is updated on a regular basis, putting
strain on part of the drive where the add-on bits are stored. Thus, some
drive sectors are repeatedly bombarded with new information, and one way
operating systems will do in this case is move the new data somewhere else
on the drive, potentially fragmenting bits of files (I'll explain in a
moment). Thus one solution is to not test all add-on updates, but that's a
bit risky as Roger is one of the key testers for this add-on I'm talking
about.
Regarding fragmentation and what not: the following is a bit geeky but I
believe you should know about how some parts of a file system (an in
extension, operating systems) works, because I believe it'll help folks
better understand what might be going on:
Storage devices encountered in the wild are typically organized into many
parts, typically into blocks of fixed-length units called "sectors". A
sector is smallest unit of information that the storage device can present
to the outside world, as in how much data can be held on a storage device.
For example, when you store a small document on a hard disk drive (HDD) and
when you wish to open it in Notepad, Windows will ask a module that's in
charge of organizing and interpreting data on a drive (called a file system)
to locate the sector where the document (or magnets or flash cells that
constitute the document data) is stored and bring it out to you. To you, all
you see is the path to the document, but the file system will ask the drive
controller (a small computer inside hard disks and other storage devices) to
fetch data in a particular sector or region. Depending on what kind of
storage medium you're dealing with, reading from disks may involve waiting
for a platter with desired sector to come to the attention of a read/write
head (a thin magnetic sensor used to detect or make changes to magnetic
fields) or peering inside windows and extracting electrons trapped within.
This last sentence is a vivid description of how hard disks and solid-state
drives really work behind the scenes, respectively.
But storage devices are not just meant for reading things for your
enjoyment. Without means of storing new things, it becomes useless.
Depending on the medium you've got, when you save something to a storage
device, the file system in charge of the device will ask the drive
controller to either find a spot on a disk filled with magnets and change
some magnets, or apply heat pressure to dislodge all cells on a block, erase
the block, add new things, and fill the empty block with modified data
(including old bits). You can imagine how tedious this can get, but as far
as your work is concerned, it is safe and sound.
Now imagine you wish to read and write repeatedly on a storage device. The
file system will repeatedly ask the drive hardware to fetch data from
specific regions, and will look for new locations to store changes. On a
hard drive, because there are limited number of heads and it'll take a while
for desired magnetic region to come to attention of one, read speed is slow,
hence increased latency (latency refers to how long you have to wait for
something to happen). When it comes to saving things to HDD's, all the drive
needs to do is tell the read/write head to change some magnets wherever it
wishes, hence data overriding is possible and easy. But operating systems
(rather, file systems) are smarter than that, as we'll see below.
In case of solid-state drives, reading data is simple as looking up the
address (or sector) where the electrons comprising the data you want is
saved (akin to walking down a street grid), so no need to wait for a sensor
to wait for something to happen. This is the reason why solid-state drives
appear to respond fast when reading something. On the other hand, writing or
injecting electrons is very slow because the drive needs to erase the entire
block before writing new data. In other words, just changing a letter in a
document and saving it to an SSD involves a lot of work, hence SSD's are
slower when it comes to writing new things, but because of the underlying
technology in use, it is way faster than hard disks.
As hinted above, file systems are smarter than drive controllers to some
extent. If data is written to a drive, the drive controller will process
whatever it comes along its path. But file systems won't let drive
controllers get away with that: file systems such as NTFS (New Technology
File System) will schedule data writes so it'll have minimal impact on the
lifespan of a storage device. For hard disks, it'll try its best to tell the
drive to store file data in consecutive locations in one big batch, but that
doesn't always work. For SSD's, the file system will ask the drive to
storage new information in different cells so all regions can be used
equally (at least for storing new information; this is called ware
leveling). One way to speed things up is asking the drive to reorganize data
so file fragments can be found in consecutive sectors or trim deleted
regions so fresh information can be written to more blocks (for HDD's and
SSD's, respectively), and this operation itself is tedious and produce bad
results if not done correctly and carefully.

I do understand the above explanation is a bit geeky, but I believe you need
to know some things about how things work. It is also a personal exercise to
refresh my memory on certain computer science topics (I majored in it not
long ago, and my interests were mostly hardware and operating systems, hence
I was sort of naturally drawn to screen reader internals and how it
interacts with system software).
Cheers,
Joseph

-----Original Message-----
From: nvda@nvda.groups.io [mailto:nvda@nvda.groups.io] On Behalf Of Roger
Stewart
Sent: Friday, January 19, 2018 7:58 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Portable version degrading

The problem with this discussion is my portable version is on an internal
hard drive. So why is this degrading?

Nothing else on this drive has any trouble and I've checked, and there's no
file system errors nor any fragmenting.


Roger












On 1/19/2018 8:28 AM, Antony Stone wrote:
USB drives do need to be unmounted before removing them, otherwise there
is
the risk of file system corruption. Precisely the same is true for
external
hard drives, floppy disks, or any other writeable medium you can
temporarily
attach to a computer.

I've never seen a USB thumb drive fall apart, and I think they're
considerably
more robust than floppy disks, which is basically what they replaced. You
can
also drop them on the floor with a good deal more confidence of them
working
afterwards than if you drop an external hard disk.

Yes, they're vulnerable to static electricity; that's why most of them
have
plastic caps to put over the contacts or a slider to retract the contacts
into
the body.

My experience is that if they're treated reasonably they work very well.
If
they're mistreated they'll give as many problems as any other mistreated
storage medium.


Antony.

On Friday 19 January 2018 at 15:17:36, tonea.ctr.morrow@faa.gov wrote:

A few years back, I had a job for three years where people brought me
their
files on USB thumb drives. These things are horrible in terms of
long-life. The really do have to be unmounted prior to removing from the
computer or they get corrupted. They physically fall apart easily. And,
the hardware inside seems to be more vulnerable to static electricity
data
loss than other portable drives, certainly more vulnerable than most
computers.



I would think that would be the problem.



Tonea



-----Original Message-----

I've noticed over the past couple years that my portable install of nvda
will sometimes degrade or get a bit corrupted over time all by itself
while the installed version is always stable as a rock. Does anyone know
why this is and is there any way to prevent this from happening? I use
the portable copy to test a couple add ons and if the portable version
corrupts, it can make it appear that the add on is defective or has a bug
while it really doesn't. Deleting the portable copy and making a new one
will clear it up. I also notice a few functions of nvda either don't
work
at all or nvda gets very sluggish in responsiveness and this all gets
back
to normal after a complete flush and remake of the portable version. As
I
say, this never has happened at all with my installed copy on the same
computer.





Roger

Join nvda@nvda.groups.io to automatically receive all group messages.