|
|
|
|
| Author |
Message |
Vanguard Guest
|
Posted: Tue Dec 26, 2006 10:54 pm Post subject: memtest86+ reports errors - Which stick with dual-channel? |
|
|
Abit NF7-S v2 mobo
2GB memory = two 1GB CAS-3 PC-3200 DDR low-density
I've had 512MB (2x256MB) Geil PC-3200 DDR low-density sticks in my old
Abit mobo for maybe 4 years and it has been stable. I just upgraded to
2GB (2x1GB) and memtest86+ is reporting errors at the same range of
addresses (around 858MB). I have another memory tester in CheckIT and
it finds no errors.
While 858MB makes it look like the errors are in the first 1GB memory
stick, I'm wondering if that is really true due to dual-channel mode.
Each stick is in the proper slot to enable dual-channel memory mode in
the mobo. I tried to load lots of programs to consume up my 2GB of
real memory but eventually I would get beeprs on loading more (as
though I had reached some max count) and only got about 1.4GB consumed.
If memtest86+ was indeed telling me that the bad spot was in the first
1GB memory stick then why didn't I hit a problem when I consumed 1.4GB
in loading programs. I ran the memory test in CheckIT for many passes
for 8 hours and it never found errors. If memtest86+ was taking in
account dual-channel mode and compensating by showing linear memory
addresses for the error spots so 858MB would be in the first stick then
I suppose 1.4GB might only have used 700MB from each stick and I didn't
reach the 858MB area. It's hard to say because it's hard to be sure
exactly what memtest86 is reporting.
I will later retest with just one 1GB stick in the machine at a time
and then try memtest86+ again to see if one stick reports okay and the
other reports with errors. I'll also recheck voltages to makes sure it
is 2.6V (what the sticks were rated for and what, I believe, the mobo
is supposed to use, by default). But until then, I'm wondering if
dual-channel mode is throwing off memtest86+ or, if not, if the
addresses it reports can be directly related to a specific stick when
in dual-channel mode for the memory. Since dual-channel was to double
the effective bandwidth for memory, my assumption is that accesses are
flip-flopping between the modules. Does that mean for memory addresses
of, say, 800MB, that the dual-channel controller actually addresses
400MB across the two sticks? If addressing remained linear, there
wouldn't be any advantage to dual-channel until physical memory
consumption got over 1GB (to then start using the next memory stick).
Or does 800MB accesses mean that the same 800MB area is accessed across
both sticks, something like one stick gets an 800MB access while, for a
conflict during access, the other stick gets a near-concurrent access
on 800MB? If so then I couldn't tell from memtest86+ which stick had
the errors at 858MB since that address was shared across the two
sticks.
Descriptions of nVidia's nForce memory controller solution don't really
help to determine what memtest86+ is telling me regarding the errors.
"There are two different strategies employed in dual-channel memory
controllers, with the first being a platform with two independent
channels in hardware. This is the format of Nvidia's nForce and nForce2
chipsets for AMD Athlon XP systems, where each memory bank has its own
memory channel and an arbiter distributes the load between them and
plays traffic cop for incoming data." Okay, so does that mean an error
at 858MB is only on the first 1GB memory stick, or could the errors be
distributed across both 1GB memory sticks?
I am NOT overclocking. I am using the SPD settings of 3-4-4-8. Since
this is PC-3200 memory to replace smaller PC-3200 memory, bus is 200MHz
(and why I stuck with just two 1GB memory sticks since three of them
would require reducing the bus to 166MHz for this mobo). These two
sticks were bought as a matched set so they are the same. I am a bit
leery about relying on the results from memtest86+ since I've seen it
report errors on memory for which there never has been a problem using
it (i.e., maybe memtest86+ doesn't work well for dual-channel).
BTW:
I see there is a memtest86.com and a memtest.org web site and they seem
to be separate sites. Is there a difference in the memtest86 program
obtained from them? memtest86.com has version 3.2 while memtest.org
has version 1.65. That's a large gap in versions so I suspect they are
different programs. memtest.org says theirs is based off the "old" one
at memtest86.com yet they say the "old" version has not been updated
since mid-2002 yet the 3.2 version from memtest86.com is dated Nov
2004. I think I got the one from memtest.org, so I'll next try the old
one from memtest86.com. |
|
| Back to top |
|
 |
Fix your Windows Problems - FAST.
FREE Safe Scan Registry Check. Locate & Fix Errors in Minutes!
|
|
Guest
|
Posted: Wed Dec 27, 2006 9:20 pm Post subject: Re: memtest86+ reports errors - Which stick with dual-channe |
|
|
memtest86+ is a derivative of plain memtest - it's today's defacto tester.
read the FAQ at their site; AMD sys's often fail test 5, it is the most
stressful on an AMD sys. You are right however to expect ZERO errors, if
memtest says's there's an error then it _IS_ there, tho it may never
actually occur in real-world use. Try swapping sticks, or using the
alternate slots; I had a sys that failed test 5 when using slots 1+3, but
if passed fine using slots 2+4. A slight voltage increase may also help. |
|
| Back to top |
|
 |
Paul Guest
|
Posted: Wed Dec 27, 2006 9:23 pm Post subject: Re: memtest86+ reports errors - Which stick with dual-channe |
|
|
Vanguard wrote:
| Quote: | Abit NF7-S v2 mobo
2GB memory = two 1GB CAS-3 PC-3200 DDR low-density
I've had 512MB (2x256MB) Geil PC-3200 DDR low-density sticks in my old
Abit mobo for maybe 4 years and it has been stable. I just upgraded to
2GB (2x1GB) and memtest86+ is reporting errors at the same range of
addresses (around 858MB). I have another memory tester in CheckIT and
it finds no errors.
While 858MB makes it look like the errors are in the first 1GB memory
stick, I'm wondering if that is really true due to dual-channel mode.
Each stick is in the proper slot to enable dual-channel memory mode in
the mobo. I tried to load lots of programs to consume up my 2GB of
real memory but eventually I would get beeprs on loading more (as
though I had reached some max count) and only got about 1.4GB consumed.
If memtest86+ was indeed telling me that the bad spot was in the first
1GB memory stick then why didn't I hit a problem when I consumed 1.4GB
in loading programs. I ran the memory test in CheckIT for many passes
for 8 hours and it never found errors. If memtest86+ was taking in
account dual-channel mode and compensating by showing linear memory
addresses for the error spots so 858MB would be in the first stick then
I suppose 1.4GB might only have used 700MB from each stick and I didn't
reach the 858MB area. It's hard to say because it's hard to be sure
exactly what memtest86 is reporting.
I will later retest with just one 1GB stick in the machine at a time
and then try memtest86+ again to see if one stick reports okay and the
other reports with errors. I'll also recheck voltages to makes sure it
is 2.6V (what the sticks were rated for and what, I believe, the mobo
is supposed to use, by default). But until then, I'm wondering if
dual-channel mode is throwing off memtest86+ or, if not, if the
addresses it reports can be directly related to a specific stick when
in dual-channel mode for the memory. Since dual-channel was to double
the effective bandwidth for memory, my assumption is that accesses are
flip-flopping between the modules. Does that mean for memory addresses
of, say, 800MB, that the dual-channel controller actually addresses
400MB across the two sticks? If addressing remained linear, there
wouldn't be any advantage to dual-channel until physical memory
consumption got over 1GB (to then start using the next memory stick).
Or does 800MB accesses mean that the same 800MB area is accessed across
both sticks, something like one stick gets an 800MB access while, for a
conflict during access, the other stick gets a near-concurrent access
on 800MB? If so then I couldn't tell from memtest86+ which stick had
the errors at 858MB since that address was shared across the two
sticks.
Descriptions of nVidia's nForce memory controller solution don't really
help to determine what memtest86+ is telling me regarding the errors.
"There are two different strategies employed in dual-channel memory
controllers, with the first being a platform with two independent
channels in hardware. This is the format of Nvidia's nForce and nForce2
chipsets for AMD Athlon XP systems, where each memory bank has its own
memory channel and an arbiter distributes the load between them and
plays traffic cop for incoming data." Okay, so does that mean an error
at 858MB is only on the first 1GB memory stick, or could the errors be
distributed across both 1GB memory sticks?
I am NOT overclocking. I am using the SPD settings of 3-4-4-8. Since
this is PC-3200 memory to replace smaller PC-3200 memory, bus is 200MHz
(and why I stuck with just two 1GB memory sticks since three of them
would require reducing the bus to 166MHz for this mobo). These two
sticks were bought as a matched set so they are the same. I am a bit
leery about relying on the results from memtest86+ since I've seen it
report errors on memory for which there never has been a problem using
it (i.e., maybe memtest86+ doesn't work well for dual-channel).
BTW:
I see there is a memtest86.com and a memtest.org web site and they seem
to be separate sites. Is there a difference in the memtest86 program
obtained from them? memtest86.com has version 3.2 while memtest.org
has version 1.65. That's a large gap in versions so I suspect they are
different programs. memtest.org says theirs is based off the "old" one
at memtest86.com yet they say the "old" version has not been updated
since mid-2002 yet the 3.2 version from memtest86.com is dated Nov
2004. I think I got the one from memtest.org, so I'll next try the old
one from memtest86.com.
|
I would try it this way.
Test one stick by itself. Test the second stick by itself. Do both pass ?
Now, test both sticks. If the sticks singly pass, but fail as a pair,
you have a "loading effect". I had this problem with my Nforce2 motherboard
(failure to run a decent memory config at PC3200), and fixed it with
two CAS2 PC3200 sticks. For some reason, running a CAS2 memory seemed
to fix whatever problem there is with Nforce2. If the memory you've
got is CAS3, you may have to set the memory in an async mode, such
as selecting "83%" in the BIOS. In my one week of testing and research,
I came to the conclusion that no matter what hack I used, I simply
could not make the memory work better than a certain level - until
I replaced the memory with some other stuff.
Nforce2 chipsets are mainly dual channel, except for one chipset
(Ultra 400?) which is single channel only. The chipsets are supposed to
drive three dual sided slots. At least one motherboard fudges that,
by using two double sided slots and two single sided slots, but that
is cheating (i.e. no real improvement, and only serves to annoy
their customers).
If we stick with the mainstream Nforce2 dual channel implementations,
they have three separate address busses (one bus per slot), which
is a Cadillac way to do addressing. The addressing should be bulletproof,
except the evidence is, the chipset really doesn't like all memory, when
using those address busses.
There are two data busses. Two DIMMs sit on one data bus, the third DIMM
sits on the other data bus.
In dual channel mode, two DIMMs in dual channel, alternate in providing
data. That will make it difficult to map a failure address to a stick,
unless the program can do it for you. If the failure addresses are
consistent (reproducible on each run), you can try swapping the sticks
between the two slots you are using, and see what happens to the
address reported. From that, you may be able to determine the
"granularity" of the alternation between channels. But you still might
not be able to figure out, which DIMM is which. You might need to know
more about the motherboard to figure it out - it is much better if a
memory test program can tell you the defective DIMM. Or if the
failure will appear, when only one DIMM is present.
Memory ops tend to be burst transactions. The size of the burst is
related to cache line size for the processor. Which means the defective
memory address, is buried in the bursts from both DIMMs. The burst
is generally pretty short, as each DIMM can deliver 8 bytes per transfer,
or in dual channel it would be 16 bytes per transfer. If the cache line
size was 64 bytes (and I don't know what it is), then it would take
four cycles of burst to transfer a cache line.
Dual channel does not buy a lot with Nforce2, since two PC3200 DIMMs
(that is 3200MB/sec each, or 6400MB/sec as the data enters the Northbridge
from the DIMMs) more than match the FSB400 (3200MB/sec) transfer rate of
the processor. In other words, while dual channel is demonstrated to make
a small performance improvement, the memory in that particular case,
is twice as fast as the FSB. What the dual channel may buy, is the
ability to fill any gaps or inefficiencies seen in a single
channel mode. Since cycle level timing diagrams are not shown
for any chipset, it is hard to explain these things without some
nice pictures to back it up.
As for memory performance on Nforce2, the Anandtech reviews of the
motherboards, showed that three DIMMs could be driven at full speed.
I have managed to reproduce those results - I can run 3x512MB PC3200
CAS2, at the full DDR400 rate. I doubt I would manage that with the
original RAM I tried to use, as with the other CAS3 cheapo stuff,
only one stick would run stable. Two sticks would work at about
180-185MHz or so. (I bought four sticks of the fancy RAM, but normally
run two of each, in two different computers. The three stick config
was just for testing.)
In addition to Memtest86+, you should also use Prime95. It is
a much more sensitive test of how the memory is working. Memtest86+
is only suitable for finding the most obvious errors, such as
stuck-at bits. Prime95 seems to be better for random failures,
and I used Prime95 to help guide me in selecting a clock rate for
my processor (which is currently 200x11=2200 or 3200+ level, AKA
stock). I can run games or Prime95 for hours, with my current
RAM (Ballistix, but there are at least seven other brands suitable
for the job).
Also, for 1GB sticks, I've read that 128Mx4 chip type doesn't work,
and DIMMs with 64Mx8 chips are required (else not all memory is
detected). But you wouldn't have got as far as you did, if they
were wrong in that regard.
Paul |
|
| Back to top |
|
 |
Vanguard Guest
|
Posted: Sun Dec 31, 2006 8:25 am Post subject: Re: memtest86+ reports errors - Which stick with dual-channe |
|
|
<frodo@theshire.net> wrote in message
news:12p53qjnhmc88a1@corp.supernews.com...
| Quote: | memtest86+ is a derivative of plain memtest - it's today's defacto
tester.
read the FAQ at their site; AMD sys's often fail test 5, it is the
most
stressful on an AMD sys. You are right however to expect ZERO errors,
if
memtest says's there's an error then it _IS_ there, tho it may never
actually occur in real-world use. Try swapping sticks, or using the
alternate slots; I had a sys that failed test 5 when using slots 1+3,
but
if passed fine using slots 2+4. A slight voltage increase may also
help.
|
- The memory test from Smith Micro's commercialware CheckIt Diagnostics
found no errors.
- The memtest86 from www.memtest86.com found no errors.
- The memtest86+ from www.memtest.org found errors in test #5.
- I have tried loading as many apps as I can and have yet to encounter a
blue screen.
The description at www.memtest86.com regarding their test #5 says,
"Because the data is checked only after the memory moves are completed
it is not possible to know where the error occurred. The addresses
reported are only for where the bad pattern was found." However, it was
the program from www.memtest.org which was the only one that reported
errors. I ran through multiple passes (7, I think) using memtest86 from
www.memtest86.com and it reported no errors. 1 tester says memory is
bad. 2 testers says memory is good, and one of them is the parent of
the tester that says memory is bad.
I'm inclined to believe the memtest86+ from www.memtest.org is wrong.
Obviously there is a bias that I don't want to have bad memory, but also
there are 2 other programs that don't report finding any errors.
Although the one at www.memtest.org is an offshoot of the one at
www.memtest86.com, they called it the same name (the "+" is not
sufficient to differentiate it in searches) so it makes impossible to
find any comparisons between the two to determine if one is bad and the
other is good (Google omits special characters, so I cannot search on
"+memtest86 +memtest86+" to find articles with both programs reviewed).
My motherboard (Abit NF7-S v2) is older than either of the latest
releases from these two sites of the similarly-named memtest86[+]
program. The memory has a lifetime warranty and I have 30 days (now 21
left) to return to NewEgg. |
|
| Back to top |
|
 |
Paul Guest
|
Posted: Sun Dec 31, 2006 9:05 am Post subject: Re: memtest86+ reports errors - Which stick with dual-channe |
|
|
Vanguard wrote:
| Quote: | frodo@theshire.net> wrote in message
news:12p53qjnhmc88a1@corp.supernews.com...
memtest86+ is a derivative of plain memtest - it's today's defacto
tester.
read the FAQ at their site; AMD sys's often fail test 5, it is the most
stressful on an AMD sys. You are right however to expect ZERO errors, if
memtest says's there's an error then it _IS_ there, tho it may never
actually occur in real-world use. Try swapping sticks, or using the
alternate slots; I had a sys that failed test 5 when using slots 1+3, but
if passed fine using slots 2+4. A slight voltage increase may also help.
- The memory test from Smith Micro's commercialware CheckIt Diagnostics
found no errors.
- The memtest86 from www.memtest86.com found no errors.
- The memtest86+ from www.memtest.org found errors in test #5.
- I have tried loading as many apps as I can and have yet to encounter a
blue screen.
The description at www.memtest86.com regarding their test #5 says,
"Because the data is checked only after the memory moves are completed
it is not possible to know where the error occurred. The addresses
reported are only for where the bad pattern was found." However, it was
the program from www.memtest.org which was the only one that reported
errors. I ran through multiple passes (7, I think) using memtest86 from
www.memtest86.com and it reported no errors. 1 tester says memory is
bad. 2 testers says memory is good, and one of them is the parent of
the tester that says memory is bad.
I'm inclined to believe the memtest86+ from www.memtest.org is wrong.
Obviously there is a bias that I don't want to have bad memory, but also
there are 2 other programs that don't report finding any errors.
Although the one at www.memtest.org is an offshoot of the one at
www.memtest86.com, they called it the same name (the "+" is not
sufficient to differentiate it in searches) so it makes impossible to
find any comparisons between the two to determine if one is bad and the
other is good (Google omits special characters, so I cannot search on
"+memtest86 +memtest86+" to find articles with both programs reviewed).
My motherboard (Abit NF7-S v2) is older than either of the latest
releases from these two sites of the similarly-named memtest86[+]
program. The memory has a lifetime warranty and I have 30 days (now 21
left) to return to NewEgg.
|
Do you pass a few hours of Prime95 (torture test option) ?
It is a free program, that runs in Windows or Linux, and
is downloadable from mersenne.org .
Paul |
|
| Back to top |
|
 |
Fix your Windows Problems - FAST.
FREE Safe Scan Registry Check. Locate & Fix Errors in Minutes!
|
|
Vanguard Guest
|
Posted: Mon Jan 01, 2007 1:14 am Post subject: Re: memtest86+ reports errors - Which stick with dual-channe |
|
|
"Paul" <nospam@needed.com> wrote in message
news:en79bt$3lc$1@aioe.org...
| Quote: | Vanguard wrote:
frodo@theshire.net> wrote in message
news:12p53qjnhmc88a1@corp.supernews.com...
memtest86+ is a derivative of plain memtest - it's today's defacto
tester.
read the FAQ at their site; AMD sys's often fail test 5, it is the
most
stressful on an AMD sys. You are right however to expect ZERO
errors, if
memtest says's there's an error then it _IS_ there, tho it may never
actually occur in real-world use. Try swapping sticks, or using the
alternate slots; I had a sys that failed test 5 when using slots
1+3, but
if passed fine using slots 2+4. A slight voltage increase may also
help.
- The memory test from Smith Micro's commercialware CheckIt
Diagnostics found no errors.
- The memtest86 from www.memtest86.com found no errors.
- The memtest86+ from www.memtest.org found errors in test #5.
- I have tried loading as many apps as I can and have yet to
encounter a blue screen.
The description at www.memtest86.com regarding their test #5 says,
"Because the data is checked only after the memory moves are
completed it is not possible to know where the error occurred. The
addresses reported are only for where the bad pattern was found."
However, it was the program from www.memtest.org which was the only
one that reported errors. I ran through multiple passes (7, I think)
using memtest86 from www.memtest86.com and it reported no errors. 1
tester says memory is bad. 2 testers says memory is good, and one of
them is the parent of the tester that says memory is bad.
I'm inclined to believe the memtest86+ from www.memtest.org is wrong.
Obviously there is a bias that I don't want to have bad memory, but
also there are 2 other programs that don't report finding any errors.
Although the one at www.memtest.org is an offshoot of the one at
www.memtest86.com, they called it the same name (the "+" is not
sufficient to differentiate it in searches) so it makes impossible to
find any comparisons between the two to determine if one is bad and
the other is good (Google omits special characters, so I cannot
search on "+memtest86 +memtest86+" to find articles with both
programs reviewed).
My motherboard (Abit NF7-S v2) is older than either of the latest
releases from these two sites of the similarly-named memtest86[+]
program. The memory has a lifetime warranty and I have 30 days (now
21 left) to return to NewEgg.
Do you pass a few hours of Prime95 (torture test option) ?
It is a free program, that runs in Windows or Linux, and
is downloadable from mersenne.org .
Paul
|
Does it run WITHOUT being a slave to their server? When I started to
read up on it at their web site, it looks similar to the SETI program: a
bunch of end users participating in a coordinated effort towards a
community goal. I really just want to test the machine by itself and,
in fact, without any Internt connection. I also saw mention of their
torture test but no mention that it actually tests ALL memory rather
than just the portion in which the program resides. |
|
| Back to top |
|
 |
Vanguard Guest
|
Posted: Thu Jan 04, 2007 7:18 pm Post subject: Re: memtest86+ reports errors - Which stick with dual-channe |
|
|
<frodo@theshire.net> wrote in message
news:12pihac73m5rc9c@corp.supernews.com...
| Quote: | snip> .. everything you said...
that's why I mentioned Test #5 to y'all in the first place, it is
often
blamed for finding "bad" ram that "isn't". I have run into this many
times in the past w/ AMD setups, I always try to resolve it if I can
just
for peace of mind. Your conclusions are valid and you will probably
be
just fine...
|
Well, here's a kicker. I finally decided to rerun the testing using the
memtest86+ (note the plus) from memtest.org, the one that failed before
in test #5. Now it doesn't fail. I let it run overnight which ran
through 8 passes (9 for test #5 because the 9th pass hadn't completed
yet) and no failures. I had figured to check for the errors again and
then to test them one at a time but now it doesn't fail. Ain't the way
that once you start to dig into the problem that it goes away. |
|
| Back to top |
|
 |
Guest
|
Posted: Fri Jan 05, 2007 12:35 am Post subject: Re: memtest86+ reports errors - Which stick with dual-channe |
|
|
Vanguard <no@mail.invalid> wrote:
| Quote: | Well, here's a kicker. I finally decided to rerun the testing using the
memtest86+ (note the plus) from memtest.org, the one that failed before
in test #5. Now it doesn't fail. I let it run overnight which ran
through 8 passes (9 for test #5 because the 9th pass hadn't completed
yet) and no failures. I had figured to check for the errors again and
then to test them one at a time but now it doesn't fail. Ain't the way
that once you start to dig into the problem that it goes away.
|
Are you SURE everything was the same?? I have seen the fails go away by
swapping sticks, or using the alternate slots (2+4 vs 1+3), or simply
using a different brand of stick. And the "bad" sticks will work just
fine in another MoBo. Basically, it's a sample-specific failure, most
likely caused by skew, EMI, or termination issues on a given setup. Some
MoBo bios' have a setting to reduce the effects of EMI, called Spread
Spectrum or Frequency Spreading, and sometimes it actually makes a
difference. IMHO, if that setting does make a diff then the MoBo was
operating on the edge of spec. to begin with.
But hey, if the "problem" is gone, all the better! |
|
| Back to top |
|
 |
Vanguard Guest
|
Posted: Fri Jan 05, 2007 9:02 am Post subject: Re: memtest86+ reports errors - Which stick with dual-channe |
|
|
<frodo@theshire.net> wrote in message
news:12pqi845c3hkhdb@corp.supernews.com...
| Quote: | Vanguard <no@mail.invalid> wrote:
Well, here's a kicker. I finally decided to rerun the testing using
the
memtest86+ (note the plus) from memtest.org, the one that failed
before
in test #5. Now it doesn't fail. I let it run overnight which ran
through 8 passes (9 for test #5 because the 9th pass hadn't completed
yet) and no failures. I had figured to check for the errors again
and
then to test them one at a time but now it doesn't fail. Ain't the
way
that once you start to dig into the problem that it goes away.
Are you SURE everything was the same??
|
No change. Same two 1GB sticks that were in there before, no change in
slots, no change in hardware. Since I put in the 2 sticks and put on
the cover, the cover has not been removed yet. Everything inside is
still the same as when the test failed but now passes. Doh! |
|
| Back to top |
|
 |
GlassVial Guest
|
Posted: Fri Jan 05, 2007 9:30 pm Post subject: Re: memtest86+ reports errors - Which stick with dual-channe |
|
|
| Quote: | No change. Same two 1GB sticks that were in there before, no change in
slots, no change in hardware. Since I put in the 2 sticks and put on
the cover, the cover has not been removed yet. Everything inside is
still the same as when the test failed but now passes. Doh!
|
Sometimes memtest86+ (or just memtest) will throw failure codes at
incompatible memory (or an incompatible configuration) as well as
truly bad memory. Also, it's been my findings that tests #5 and #6
are the two worst (or best?) as far as exposing errors, so if you want
to fast-track a memtest, skip right to those tests.
-GV |
|
| Back to top |
|
 |
Fix your Windows Problems - FAST.
FREE Safe Scan Registry Check. Locate & Fix Errors in Minutes!
|
|
|
|
| |