|
||||||||
|
KCK wrote:Here is yet another possible interpretation of Karr's explanation from http://www.cdrlabs.com/phpBB/viewtopic. ... 2100#62100 .
Let's assume momentarily that no reading/slipping errors occur.
Suppose K's Probe issues a command to start reading a disc from LBA=100 onwards, and another command that triggers the chipset to start accumulating C1/C2 errors at LBA=100. Knowing the reading speed, K's Probe computes Delta_t as a (hopefully slight) overestimate of the time needed to read LBA's 100 through 174. Thus, after waiting for Delta_t seconds, K's Probe issues a command to determine the current LBA, say LBA_cur, and another command to read the accumulated C1/C2 errors.
cfitz wrote:Thanks for the more detailed explanation Karr. I think that helps and makes it much more clear what is going on. I still have a couple of questions if you will allow me.
1. Once you have issued the 'Start Accumulating' command, at what point does the drive stop accumulating C1C2?
a. 75 blocks after the LBA at which the 'Start Accumulating' command was issued.
b. When the 'Read C1C2' command is issued
c. When the next 'Start Accumulating' command is issued
2. If the answer to question 1 is 'c', how large a count can the drives accumulate before they overflow? In other words, what is the capacity of the C1C2 accumulators? Are they 16 bits, 32 bits, or some other size?
cfitz
KCK wrote:However, it seems that C1C2 errors are accumulated twice instead of once for the final sector of each outer loop (e.g., for LBA=174 in your "High Performance System" example), unless the current LBA is increased by 1 after [CMD] "Read C1C2".
KCK wrote:Here I presume that if [CMD] "Start accumulating" is issued at LBA=LBA_start, then after LBA exceeds LBA_start+73, the chipset has accumulated C1C2 for sectors LBA_start through LBA_start+74.
It still seems to me that KProbe may loose data unless the system is so fast that LBA increases at most by 1 in each inner loop, i.e., after each [CMD] "Read Current Position". Just consider what would happen if "[CMD] Read Current Position (Assume LBA 174)" in your example were replaced by "[CMD] Read Current Position (Assume LBA 176)".
karr_wang wrote:The answer is "a" ,
KCK wrote:Karr Wang:
Going back to your "Poor System" example:
Step 1: [CMD] Read Current Position (Assume LBA 100)
Step 2: [CMD] Start accumulating
Step 3: [CMD] Read Current Position (Assume LBA 190)
Step 4: [CMD] Read C1C2
Step 5: [CMD] Start accumulating
Step 6: [CMD] Read Current Position (Assume LBA 280)
Step 7: [CMD] Read C1C2
could you tell us which of the following are true?
1. Step 4 reads C1C2 for sectors:
a. 100 through 174
b. 101 through 175
c. possibly some later sectors, depending on system delays
2. Step 7 reads C1C2 for sectors:
a. 190 through 264
b. 191 through 265
c. possibly some later sectors, depending on system delays
Here is a more precise version of my former querry:
It still seems to me that KProbe may not provide C1C2 for some sectors unless the system is so fast that LBA increases at most by 1 in each inner loop, i.e., after each [CMD] "Read Current Position".
For instance, suppose "[CMD] Read Current Position (Assume LBA 174)" in your "High Performance" example is replaced by "[CMD] Read Current Position (Assume LBA 177)". Then how will KProbe get C1C2 for LBA=176?
KCK wrote:Now I'd like to take you up on your "I believe I fully understand now"!
karr_wang wrote:I think cfitz can answer this question correctly!!
KCK wrote:However, one aspect is still unclear: you (and possibly Karr) assume that each sample gives C1C2 counts for 75 blocks.
KCK wrote:What I really wanted to convey was that it seemed to me that nobody had mentioned the possibility of getting "too small" samples.
KCK wrote:Anyway, I apologize for improper wording.
KCK wrote:1. I was not "assuming that KProbe uses the LBA from step 1 to decide how many blocks it must wait before reading the completed 75-block C1C2 counts". A related assumption on waiting was explicit in my initial post of yesterday, but then Karr wrote "KProbe ... won't wait anyway", so I stopped thinking in such terms.
KCK wrote:Yet your latest post was not limited to speculations alone, since it also presented an empirical observation: "I've seen some samples in my csv files that are separated by less than 75 sectors". I hope Karr will comment on this fact.
Rate mean, peak sample #<75 #>100
8x 76.4 76 (77) 0 1
16x 78.4 77 (77-79) 0 1
24x 79.6 79 (78-81) 1 6
32x 81.1 80 (79-83) 1 4
max 84.3 84 (81-86) 0 1
RW Max 82.8 82 (80-85) 0 19
spath wrote:According to these figures it seems that KProbe is roughly missing from
2 to 12% of all the sectors on a disc for its C1/C2 calculations
dolphinius_rex wrote:that's why proffesional testing is done on hardware made especially for the job.
spath wrote:According to these figures it seems that KProbe is roughly missing from
2 to 12% of all the sectors on a disc for its C1/C2 calculations
C1 Max C1 Avg C1 Total Total Samples
----------------------------------------------------
WSES 8 0.232 958 4122
CD Doc 8 0.221 942 4255
KProbe 7 0.236 981 4163
LBA C1
------------
3185 4
3185 1
12281 0
12281 2
21990 2
21990 2
MikeTR wrote:We can't expect performance on par with a professional dedicated machine from a (free) tool like this. I think mr. Wang has done a great job so far and I hope he keeps going on like this.
MikeTR wrote:He might,....as long as cfitz and KCK don't drive him from this forum with those gruelling questions
cfitz wrote:[And by the way, why don't you include MediumRare in the list of grueling inquisitors? I think he deserves credit (or blame ) as well.
cfitz
Return to Recordable Media Discussion
Users browsing this forum: No registered users and 1 guest
All Content is Copyright (c) 2001-2024 CDRLabs Inc. |