CN102279825A - 一种固态硬盘控制器的智能dma控制器 - Google Patents
一种固态硬盘控制器的智能dma控制器 Download PDFInfo
- Publication number
- CN102279825A CN102279825A CN2011100830579A CN201110083057A CN102279825A CN 102279825 A CN102279825 A CN 102279825A CN 2011100830579 A CN2011100830579 A CN 2011100830579A CN 201110083057 A CN201110083057 A CN 201110083057A CN 102279825 A CN102279825 A CN 102279825A
- Authority
- CN
- China
- Prior art keywords
- controller
- solid
- hard disk
- state hard
- disk controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种固态硬盘控制器的智能DMA控制器,属于一种微电子技术领域,包括固态硬盘控制器,固态硬盘控制器中设置有智能DMA控制器,智能DMA控制器包含有三个DMA控制器,即DMA0控制器、DMA1控制器、DMA2控制器;DMA0控制器用来控制固态硬盘控制器的SATA接口到固态硬盘控制器的闪存控制器之间的数据传送,DMA1控制器用来控制固态硬盘控制器的闪存控制器到固态硬盘控制器的SATA接口之间的数据传送,DMA2控制器用来控制不同固态硬盘控制器的闪存控制器之间的数据传送。本发明的一种固态硬盘控制器的智能DMA控制器,能提高写操作的稳定性和准确性、同时能提高磨损均衡的速度和性能。
Description
技术领域
本发明涉及一种微电子技术领域,具体地说是一种固态硬盘控制器的智能DMA控制器。
背景技术
随着信息技术的发展,需要的数据量越来越大,同时对大批量的数据传输的速度要求也越来越高,所以在芯片内部仅仅通过处理器来对数据进行传送已经满足不了我们的要求,在这样的情况下就出现了DMA控制器。
DMA的英文拼写是“Direct Memory Access”,汉语的意思就是直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式。在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率,可以大大节省系统资源。
处理器对数据进行处理的过程是先要把数据从外部load到自己的寄存器中,然后在store到相应的外部存储器中,而DMA控制器则是直接将数据从源存储位置通过相应的总线传送到目标存储位置,传送的速度跟系统总线的速度一致,相比起处理器需要多条指令才能完成,DMA控制器在传送数据上要更有优势。
在固态硬盘控制器中也采用DMA控制器来负责数据的传送,而处理器主要完成各种信号的控制器,从而降低处理器性能对数据传送带宽的影响。当SSD(solid state disk简写,固态硬盘)控制器对闪存进行写操作时,有可能出现写操作错误,这个时候数据并没有写入到相应的物理快中,因为闪存program的时间很长,处理器不可能一直等它写完,所以当数据写入到页缓冲区后处理器就去做其他的处理了,这个时候我们需要将写入到缓冲区的数据也备份到SDRAM中,防止出现写操作错误后数据丢失;当SSD进行磨损均衡操作时,需要从SDRAM的磨损均衡表中找出擦除次数最小的物理快。
上述两种情况下如果通过处理器来做的话需要的时间会很长,而且这个时间处理器不能做其他的事情,效率会很低。
发明内容
本发明的技术任务是提供一种能提高写操作的稳定性和准确性、同时能提高磨损均衡的速度和性能的一种固态硬盘控制器的智能DMA控制器。
本发明的技术任务是按以下方式实现的,包括固态硬盘控制器,固态硬盘控制器中设置有智能DMA控制器,智能DMA控制器包含有三个DMA控制器,即DMA0控制器、DMA1控制器、DMA2控制器;DMA0控制器用来控制固态硬盘控制器的SATA接口到固态硬盘控制器的闪存控制器之间的数据传送,DMA1控制器用来控制固态硬盘控制器的闪存控制器到固态硬盘控制器的SATA接口之间的数据传送,DMA2控制器用来控制不同固态硬盘控制器的闪存控制器之间的数据传送。
智能DMA控制器主要完成两个功能,一个是当固态硬盘控制器的闪存控制器进行写操作时通过DMA控制器同时完成将一个页数据备份到SDRAM中;另一个则是当固态硬盘需要对闪存芯片进行磨损均衡操作时DMA控制器会到SDRAM中的磨损均衡表中找出擦除次数最小的物理快,从而完成相应的磨损均衡操作。
固态硬盘控制器数据备份智能DMA控制器的流程为:固态硬盘控制器的SATA发出写命令;数据通过DMA控制器写入NFC buffer;检查固态硬盘控制器的闪存芯片是否空闲,如果不空闲,则返回检查固态硬盘控制器的闪存芯片是否空闲,直到固态硬盘控制器的闪存芯片空闲;如果空闲,则NFC buffer中数据写入固态硬盘控制器的闪存芯片,读写操作完成,同时智能DMA控制器将NFC buffer中数据备份到SDRAM中;检查写操作是否出现错误,若没有出现错误,则完成写操作并释放NFC buffer,若出现错误,则智能DMA控制器将数据从SDRAM搬回到NFC buffer,重新执行SATA发出的写命令。
数据备份智能DMA控制器主要是在固态硬盘控制器的闪存控制器进行写操作时进行数据备份;当固态硬盘控制器的闪存控制器进行一个页写操作时,为了提高效率和性能,当一个页的数据传送到固态硬盘控制器的闪存芯片的页缓冲区后,固态硬盘控制器的闪存控制器的缓冲区就会释放,从而可以继续对其他的固态硬盘控制器的闪存芯片进行操作;因为要将数据写入到闪存芯片需要的时间很长,等待的话会降低性能。但是闪存芯片在写操作的过程中有可能会出现错误,而这个时候数据并没有被写入到闪存芯片中,需要将这个页数据换到其他的物理快中再次写入,如果之前没有将数据备份的话就会丢掉数据,这会是一个很大的错误,所以之前写操作时数据的备份就非常重要,智能DMA控制器将一个页的数据备份到SDRAM中,比通过处理器来备份要快的多,同时处理器还可以进行其他的操作,从而提高了效率。
固态硬盘控制器数据查找智能DMA控制器的流程为:固态硬盘控制器空闲时,查找是否有物理块在磨损区;若是有物理块在磨损区,则开始启动磨损均衡操作;智能DMA控制器到SDRAM中的磨损均衡表找出擦除次数最少的物理块;然后将磨损区的物理块与查找到的擦除次数最少的物理快进行磨损均衡操作。
数据查找智能DMA控制器主要是在固态硬盘进行磨损均衡操作时用来到SDRAM中的磨损均衡表中查找出擦除次数最少的物理块。此时我们需要读出SDRAM中的磨损均衡表,查找固态硬盘中所有物理快的擦除次数,找出擦除次数最少的物理快用来与磨损次数超过我们限定的物理块进行数据交换,从而实现磨损均衡,提高固态硬盘的寿命。
本发明的一种固态硬盘控制器的智能DMA控制器和现有技术相比具有以下优点:
1、通过智能DMA控制器将数据备份到SDRAM中,比通过处理器来备份要快的多,同时处理器还可以进行其他的操作,从而提高了效率,提高写操作的稳定性和准确性;
2、如果采用处理器来进行物理块的查找比较,需要很长的时间,而采用智能DMA控制器来查找,则能提高效率,提高磨损均衡的速度和性能。因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为固态硬盘控制器数据备份智能DMA控制器的流程图;
附图2为固态硬盘控制器数据查找智能DMA控制器的流程图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种固态硬盘控制器的智能DMA控制器作以下详细地说明。
实施例:
本发明的一种固态硬盘控制器的智能DMA控制器,本发明的技术任务是按以下方式实现的,包括固态硬盘控制器,固态硬盘控制器中设置有智能DMA控制器,智能DMA控制器包含有三个DMA控制器,即DMA0控制器、DMA1控制器、DMA2控制器;DMA0控制器用来控制固态硬盘控制器的SATA接口到固态硬盘控制器的闪存控制器之间的数据传送,DMA1控制器用来控制固态硬盘控制器的闪存控制器到固态硬盘控制器的SATA接口之间的数据传送,DMA2控制器用来控制不同固态硬盘控制器的闪存控制器之间的数据传送。
智能DMA控制器主要完成两个功能,一个是当固态硬盘控制器的闪存控制器进行写操作时通过DMA控制器同时完成将一个页数据备份到SDRAM中;另一个则是当固态硬盘需要对闪存芯片进行磨损均衡操作时DMA控制器会到SDRAM中的磨损均衡表中找出擦除次数最小的物理快,从而完成相应的磨损均衡操作。
如图1所示,固态硬盘控制器数据备份智能DMA控制器的流程为:固态硬盘控制器的SATA发出写命令;数据通过DMA控制器(图1中简写为DMA)写入NFC buffer;检查固态硬盘控制器的闪存芯片(图1中简写为NAND闪存)是否空闲,如果不空闲,则返回检查固态硬盘控制器的闪存芯片是否空闲,直到固态硬盘控制器的闪存芯片空闲;如果空闲,则NFC buffer中数据写入固态硬盘控制器的闪存芯片(图1中简写为NAND闪存),读写操作完成,同时智能DMA控制器(图1中简写为DMA)将NFC buffer(图1中简写为buffer)中数据备份到SDRAM中;检查写操作是否出现错误,若没有出现错误,则完成写操作并释放NFC buffer,若出现错误,则智能DMA控制器(图1中简写为DMA)将数据从SDRAM搬回到NFC buffer,重新执行SATA发出的写命令。
数据备份智能DMA控制器主要是在固态硬盘控制器的闪存控制器进行写操作时进行数据备份;当固态硬盘控制器的闪存控制器进行一个页写操作时,为了提高效率和性能,当一个页的数据传送到固态硬盘控制器的闪存芯片的页缓冲区后,固态硬盘控制器的闪存控制器的缓冲区就会释放,从而可以继续对其他的固态硬盘控制器的闪存芯片进行操作;因为要将数据写入到闪存芯片需要的时间很长,等待的话会降低性能。但是闪存芯片在写操作的过程中有可能会出现错误,而这个时候数据并没有被写入到闪存芯片中,需要将这个页数据换到其他的物理快中再次写入,如果之前没有将数据备份的话就会丢掉数据,这会是一个很大的错误,所以之前写操作时数据的备份就非常重要,智能DMA控制器将一个页的数据备份到SDRAM中,比通过处理器来备份要快的多,同时处理器还可以进行其他的操作,从而提高了效率。
如图2所示,固态硬盘控制器数据查找智能DMA控制器的流程为:固态硬盘控制器(图2中简写为SSD系统)空闲时,查找是否有物理块在磨损区;若是有物理块在磨损区,则开始启动磨损均衡操作;智能DMA控制器(图2中简写为DMA)到SDRAM中的磨损均衡表找出擦除次数最少的物理块;然后将磨损区的物理块与查找到的擦除次数最少的物理快进行磨损均衡操作。
数据查找智能DMA控制器主要是在固态硬盘进行磨损均衡操作时用来到SDRAM中的磨损均衡表中查找出擦除次数最少的物理块。此时我们需要读出SDRAM中的磨损均衡表,查找固态硬盘中所有物理快的擦除次数,找出擦除次数最少的物理快用来与磨损次数超过我们限定的物理块进行数据交换,从而实现磨损均衡,提高固态硬盘的寿命。如果采用处理器来进行查找比较,则需要很长的时间,而采用DMA来做,则能提高效率。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (3)
1.一种固态硬盘控制器的智能DMA控制器,包括固态硬盘控制器,其特征在于固态硬盘控制器中设置有智能DMA控制器,智能DMA控制器包含有三个DMA控制器,即DMA0控制器、DMA1控制器、DMA2控制器;DMA0控制器用来控制固态硬盘控制器的SATA接口到固态硬盘控制器的闪存控制器之间的数据传送,DMA1控制器用来控制固态硬盘控制器的闪存控制器到固态硬盘控制器的SATA接口之间的数据传送,DMA2控制器用来控制不同固态硬盘控制器的闪存控制器之间的数据传送。
2.根据权利要求1所述的一种固态硬盘控制器的智能DMA控制器,其特征在于固态硬盘控制器数据备份智能DMA控制器的流程为:固态硬盘控制器的SATA发出写命令;数据通过DMA控制器写入NFC buffer;检查固态硬盘控制器的闪存芯片是否空闲,如果不空闲,则返回检查固态硬盘控制器的闪存芯片是否空闲,直到固态硬盘控制器的闪存芯片空闲;如果空闲,则NFC buffer中数据写入固态硬盘控制器的闪存芯片,读写操作完成,同时智能DMA控制器将NFC buffer中数据备份到SDRAM中;检查写操作是否出现错误,若没有出现错误,则完成写操作并释放NFC buffer,若出现错误,则智能DMA控制器将数据从SDRAM搬回到NFC buffer,重新执行SATA发出的写命令。
3.根据权利要求1所述的一种固态硬盘控制器的智能DMA控制器,其特征在于固态硬盘控制器数据查找智能DMA控制器的流程为:固态硬盘控制器空闲时,查找是否有物理块在磨损区;若是有物理块在磨损区,则开始启动磨损均衡操作;智能DMA控制器到SDRAM中的磨损均衡表找出擦除次数最少的物理块;然后将磨损区的物理块与查找到的擦除次数最少的物理快进行磨损均衡操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110083057.9A CN102279825B (zh) | 2011-04-02 | 2011-04-02 | 一种固态硬盘控制器的智能dma控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110083057.9A CN102279825B (zh) | 2011-04-02 | 2011-04-02 | 一种固态硬盘控制器的智能dma控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102279825A true CN102279825A (zh) | 2011-12-14 |
CN102279825B CN102279825B (zh) | 2014-11-12 |
Family
ID=45105283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110083057.9A Active CN102279825B (zh) | 2011-04-02 | 2011-04-02 | 一种固态硬盘控制器的智能dma控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102279825B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890622A (zh) * | 2012-09-29 | 2013-01-23 | 无锡众志和达存储技术股份有限公司 | 一种基于协处理器的sata控制器 |
CN104281527A (zh) * | 2013-07-02 | 2015-01-14 | 英业达科技有限公司 | 计算机系统及其操作方法 |
CN105468291A (zh) * | 2014-08-21 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 动态及静态磨损均衡控制方法及装置 |
CN109726032A (zh) * | 2019-01-18 | 2019-05-07 | 记忆科技(深圳)有限公司 | Ssd异常处理方法、装置、计算机设备和存储介质 |
WO2020199488A1 (zh) * | 2019-04-01 | 2020-10-08 | 江苏华存电子科技有限公司 | 一种闪存主控模块中写入错误的冗余备援保护方法 |
CN112700813A (zh) * | 2020-12-25 | 2021-04-23 | 北京浪潮数据技术有限公司 | 一种基于磨损状态的nand控制方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354906A (zh) * | 2008-08-11 | 2009-01-28 | 湖南源科创新科技股份有限公司 | 应用于固态硬盘的闪存控制器 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
US20100125695A1 (en) * | 2008-11-15 | 2010-05-20 | Nanostar Corporation | Non-volatile memory storage system |
-
2011
- 2011-04-02 CN CN201110083057.9A patent/CN102279825B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354906A (zh) * | 2008-08-11 | 2009-01-28 | 湖南源科创新科技股份有限公司 | 应用于固态硬盘的闪存控制器 |
US20100125695A1 (en) * | 2008-11-15 | 2010-05-20 | Nanostar Corporation | Non-volatile memory storage system |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890622A (zh) * | 2012-09-29 | 2013-01-23 | 无锡众志和达存储技术股份有限公司 | 一种基于协处理器的sata控制器 |
CN102890622B (zh) * | 2012-09-29 | 2015-09-16 | 无锡众志和达数据计算股份有限公司 | 一种基于协处理器的sata控制器 |
CN104281527A (zh) * | 2013-07-02 | 2015-01-14 | 英业达科技有限公司 | 计算机系统及其操作方法 |
CN105468291A (zh) * | 2014-08-21 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 动态及静态磨损均衡控制方法及装置 |
CN105468291B (zh) * | 2014-08-21 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 动态及静态磨损均衡控制方法及装置 |
CN109726032A (zh) * | 2019-01-18 | 2019-05-07 | 记忆科技(深圳)有限公司 | Ssd异常处理方法、装置、计算机设备和存储介质 |
CN109726032B (zh) * | 2019-01-18 | 2022-07-15 | 记忆科技(深圳)有限公司 | Ssd异常处理方法、装置、计算机设备和存储介质 |
WO2020199488A1 (zh) * | 2019-04-01 | 2020-10-08 | 江苏华存电子科技有限公司 | 一种闪存主控模块中写入错误的冗余备援保护方法 |
CN112700813A (zh) * | 2020-12-25 | 2021-04-23 | 北京浪潮数据技术有限公司 | 一种基于磨损状态的nand控制方法、装置及设备 |
CN112700813B (zh) * | 2020-12-25 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种基于磨损状态的nand控制方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102279825B (zh) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9898341B2 (en) | Adjustable priority ratios for multiple task queues | |
US9959068B2 (en) | Intelligent wide port phy usage | |
US9053019B2 (en) | Non-volatile memory device, a data processing device using the same, and a swapping method used by the data processing and non-volatile memory devices | |
JP5759623B2 (ja) | メモリシステムコントローラを含む装置および関連する方法 | |
CN102279825B (zh) | 一种固态硬盘控制器的智能dma控制器 | |
US20120246403A1 (en) | Write spike performance enhancement in hybrid storage systems | |
US9348747B2 (en) | Solid state memory command queue in hybrid device | |
US11360705B2 (en) | Method and device for queuing and executing operation commands on a hard disk | |
US20140075102A1 (en) | Controller of a nonvolatile memory device and a command scheduling method thereof | |
KR102595233B1 (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
US20140372831A1 (en) | Memory controller operating method for read operations in system having nonvolatile memory device | |
CN105446665A (zh) | 一种计算机存储加速系统及其优化方法 | |
KR20130112210A (ko) | 메모리 시스템 및 그것의 페이지 교체 방법 | |
US20220350655A1 (en) | Controller and memory system having the same | |
CN102521179A (zh) | 一种dma读操作的实现装置和方法 | |
CN102566939B (zh) | 一种固态硬盘及其读-修改-写操作的数据管理方法 | |
CN111435291A (zh) | 用于擦除非易失性存储器块中编程的数据的装置和方法 | |
US8713204B2 (en) | High-performance AHCI interface | |
CN102096559A (zh) | 一种提高sata接口固态硬盘数据传输效率的方法 | |
CN202632285U (zh) | 一种应用智能dma的ssd控制器 | |
CN104899158A (zh) | 访存优化方法和装置 | |
CN103092725A (zh) | 一种实现存储器中数据备份的方法及装置 | |
CN106371768B (zh) | 一种固态盘系统中的读写优化调度方法 | |
TWI613656B (zh) | 固態硬碟系統的優先寫入方法以及使用該方法的裝置 | |
US8775711B2 (en) | Solid-state disk, and user system comprising same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |