如何以编程方式计算CD / DVD驱动器的当前实际RPM(非标称RPM)? [英] How to Calculate Current Real RPM of a CD/DVD Drive (Not Nominal RPM) Programmatically ?

查看:123
本文介绍了如何以编程方式计算CD / DVD驱动器的当前实际RPM(非标称RPM)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好b $ b

您是否使用过Nero CD Speed Test,Opti Drive Controller或DvdInfo等工具?

在这些应用程序中,您可以获得真实驱动器的RPM。我的意思是说速度为X的驱动器具有RPM Y但是它是标称的或者理想的RPM如果你以一定的速度设置你的驱动器并用这些工具获得RPM你会发现它有点不同并且不断变化。 />


对于我项目中的一些计算,我需要随时知道确切的RPM。

我测试了一种方法:读取一个扇区两次 - 从中​​等(未缓存读数) - 多次计算两次读取之间的经过时间,最后得到中值。但它与标准测试工具报告的值(就像我提到的工具一样)有很大不同。例如,对于24X速度,RPM应该接近5100但是我测试的任何方法都报告了一个奇怪的RPM。



那么如何计算RPM?



谢谢

Hi
Have you ever use some tools like Nero CD Speed Test, Opti Drive Controller, or DvdInfo?
In these applications you can get real RPM of a drive. I mean it is said that drives at the speed X have RPM Y but it's a nominal or maybe ideal RPM if you set your drive at a speed and get the RPM with these tools you will see it's a bit different and changes continuously.

For some calculation in my project I need to know the exact RPM at any time I want.
I've tested one method: reading a sector twice - from medium (not cached reading) - many times and calculating elapsed time between two reading, finally get median value. But it's a far different value from values which standard testing tools report (like tools I mentioned). For example for 24X speed, RPM should be near 5100 but any method I tested reported a strange RPM.

So how can I calculate RPM?

Thanks

推荐答案

我不知道这是否有效。这假设可以一次读取整个曲目。



读取单个扇区。测量从IO请求到数据到达的时间。



读取整个曲目(作为单个请求)。测量从IO请求到最后一个扇区到达的时间。



对于N个扇区,第一个和第二个测量值之间的时差应该是读取的时间N-1个扇区(同时也取消了读取请求的任何设置时间)。



N倍此数字除以N-1应该是一个整体的时间回转。这是你的RPM的倒数。不要忘记从毫秒到分钟进行调整。
I do not know if this will work. This assumes it is possible to read a whole track at once.

Read a single sector. Measure the time from IO request to arrival of the data.

Read a whole track (as a single request). Measure the time from IO request to arrival of the last sector.

For "N" sectors, the time difference between the first and second measurement should be the time to read N-1 sectors (while also cancelling any setup time for the read requests).

N times this number, divided by N-1 should be the time for a whole rotation. The reciprocal of that is your RPM. Don't forget to adjust from milliseconds to minutes.


这篇关于如何以编程方式计算CD / DVD驱动器的当前实际RPM(非标称RPM)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆