DMA
出自Ubuntu中文
目录 |
DMA
原文出处:https://help.ubuntu.com/community/DMA
原文作者:UbuntuWiki
授权许可:
翻译人员:韦涛 MillenniumDark
校对人员:leal MillenniumDark bentusi
贡献者:
适用版本:
文章状态:等待校对
Introduction
介绍
If you experience jumpy DVD playback, slow CD ripping, or a general slow down when accessing optical drive(s) it may be because DMA is not enabled. DMA, or Direct Memory Access, lets hard drives and CD/DVD drives access the system memory.
如果你播放DVD时跳桢,CD抓轨很慢,或是存取光存贮器很慢,也许是因为没有开启DMA功能的缘故。DMA(Direct Memory Access)的中文含意是直接内存访问,可以让硬盘和光驱直接存取系统内存数据。
Ubuntu 6.06 (Dapper Drake) has DMA automatically enabled for drives that support it.
Ubuntu 6.06 (Dapper Drake)能自动为支持的驱动器开启DMA。
attachment:IconsPage/IconDialog-Warning1.png Warning: Enabling DMA can be dangerous in some cases. Usually issues are directly related to faulty hardware, poorly written drivers, or using settings that are unsupported by your system.
attachment:IconsPage/IconDialog-Warning1.png 警告:开启DMA功能在某些情况下会造成危险。一般来说问题都和下列原因直接相关:有缺陷的硬件、编写质量糟糕的驱动程序,或者使用了你的系统不支持的设置。
USING HDPARM INCORRECTLY CAN CAUSE MAJOR DATA CORRUPTION AND/OR LOSS. Most systems newer than 4 years support DMA.
不正确的使用HDPARM可以造成存储介质的损坏及/或丢失。最近4年内的系统支持DMA。
Enabling DMA
开启DMA
To enable DMA, you need to use the hdparm command and the configuration file hdparm.conf.
These instructions assume that you are trying to enable DMA on hdc, usually the CD-rom drive.
为了开启DMA,你需要使用hdparm命令和配置文件hdparm.conf。
这个指导假定你正在尝试开启hdc上的DMA,通常是光盘驱动器。
- See the what the settings are on
/dev/hdc- 检查/dev/hdc 上的设置
- 检查/dev/hdc 上的设置
sudo hdparm /dev/hdc
- If you get a line like
using_dma = 1 (on), DMA is already enabled. Skip to step 4 to see if it has been enabled at boot time.- 如果你看到下面的显示: using_dma = 1 (on),那代表DMA已经开启了。请转至第四步来检测它是否在启动的时候已经开启了。
- Enable DMA on
/dev/hdc- 开启 /dev/hdc 上的DMA
- 开启 /dev/hdc 上的DMA
sudo hdparm -d1 /dev/hdc
- You have now enabled DMA for the drive. However, in order for the settings to be automatically applied at boot there you need to edit the
/etc/hdparm.confscript. To do this use this command:- 现在你已经为你的驱动器开启了DMA功能。然而,为了在启动的时候让你的设置自动的生效,你需要编辑/etc/hdparm.conf这个文件。使用命令:
-
sudo gedit /etc/hdparm.conf
-
- 现在你已经为你的驱动器开启了DMA功能。然而,为了在启动的时候让你的设置自动的生效,你需要编辑/etc/hdparm.conf这个文件。使用命令:
Add the following to the end of your hdparm.conf 把下列内容添加到你的hdparm.conf文件中。
/dev/hdc {
dma = on
}
(another way of avoiding editing of the hdparm.conf file is to simply run sudo hdparm -d1 -k1 /dev/hdc to keep the DMA flag).
FIXME翻译以上部分。
Troubleshooting
疑难解答
If your drives are configured in [Cable Select] mode and while running hdparm commands you receive errors related to timeouts or drive not ready, try changing the drive to be a master or slave device depending on your system configuration. This does require opening the case and as far as I know most drives are set to Cable Select from the manufacturer.
Sometimes step 3 above can fail with an "Operation Not Permitted" message. You can fix this by editing the file /etc/modules: For an Intel CPU put the lines
如果你的驱动器配置为 [Cable Select]模式,并且在使用hdparm命令时得到了类似于超时或者驱动没有就绪的错误,那么请尝试根据你的系统配置把驱动器改为主设备或者辅设备。这么做就得打开机箱,并且据我所知,大部分驱动器被生产厂家默认的设置为Cable Select 模式。
有时候上面的第三步会出现“操作不被允许”的错误信息。你可以通过编辑/etc/modules这个文件来修补它。 对于一个英特尔微处理器: 把
piix ide-core
above the line
放在 ide-cd 之上
For an AMD CPU put the line
对于一个AMD的微处理器: 把 amd74xx above
放在 ide-cd 之上
For a VIA Chipset put
对于一个威胜芯片组: 把 via82cxxx above
放在 ide-cd 之上
Then reboot and try steps 3-4 again....
然后重新启动系统,重复第三步和第四步
Further reading
进一步的阅读
The hdparm has further options that may be more risky. They can be seen using the man hdparm command in the terminal.
FIXME翻译以上部分。
For a detailed description of DMA visit the IEEE
对于详细的DMA描述,请浏览IEEE的网站:
http://standards.ieee.org/reading/ieee/std_public/description/busarch/1212.1-1993_desc.html
IDE, EIDE and UDMA
以及IDE, EIDE and UDMA的网站:
