CN102279825B - 一种固态硬盘控制器的智能dma控制器 - Google Patents
一种固态硬盘控制器的智能dma控制器 Download PDFInfo
- Publication number
- CN102279825B CN102279825B CN201110083057.9A CN201110083057A CN102279825B CN 102279825 B CN102279825 B CN 102279825B CN 201110083057 A CN201110083057 A CN 201110083057A CN 102279825 B CN102279825 B CN 102279825B
- 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.)
- Active
Links
- 101150043088 DMA1 gene Proteins 0.000 claims abstract description 8
- 101150090596 DMA2 gene Proteins 0.000 claims abstract description 8
- 238000005299 abrasion Methods 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000004377 microelectronic Methods 0.000 abstract description 2
- 239000007787 solid Substances 0.000 description 10
- 230000001684 chronic effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 210000001138 tear Anatomy 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 1
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;检查固态硬盘控制器的闪存芯片是否空闲,如果不空闲,则返回检查固态硬盘控制器的闪存芯片是否空闲,直到固态硬盘控制器的闪存芯片空闲;如果空闲,则NFCbuffer中数据写入固态硬盘控制器的闪存芯片,读写操作完成,同时智能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控制器用来控制不同固态硬盘控制器的闪存控制器之间的数据传送;智能DMA控制器完成两个功能,一个是当固态硬盘控制器的闪存控制器进行写操作时,通过智能DMA控制器同时完成将一个页数据备份到SDRAM中;另一个则是当固态硬盘控制器需要对闪存芯片进行磨损均衡操作时,智能DMA控制器会到SDRAM中的磨损均衡表中找出擦除次数最小的物理快,从而完成相应的磨损均衡操作。
2.根据权利要求1所述的一种固态硬盘控制器的智能DMA控制器,其特征在于固态硬盘控制器数据备份智能DMA控制器的流程为:固态硬盘控制器的SATA接口发出写命令;数据通过智能DMA控制器写入NFC buffer;检查固态硬盘控制器的闪存芯片是否空闲,如果不空闲,则返回检查固态硬盘控制器的闪存芯片是否空闲,直到固态硬盘控制器的闪存芯片空闲;如果空闲,则NFCbuffer中数据写入固态硬盘控制器的闪存芯片,读写操作完成,同时智能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 CN102279825A (zh) | 2011-12-14 |
CN102279825B true 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) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890622B (zh) * | 2012-09-29 | 2015-09-16 | 无锡众志和达数据计算股份有限公司 | 一种基于协处理器的sata控制器 |
CN104281527A (zh) * | 2013-07-02 | 2015-01-14 | 英业达科技有限公司 | 计算机***及其操作方法 |
CN105468291B (zh) * | 2014-08-21 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 动态及静态磨损均衡控制方法及装置 |
CN109726032B (zh) * | 2019-01-18 | 2022-07-15 | 记忆科技(深圳)有限公司 | Ssd异常处理方法、装置、计算机设备和存储介质 |
CN109947374B (zh) * | 2019-04-01 | 2022-07-22 | 江苏华存电子科技有限公司 | 一种闪存主控模块中写入错误的冗余备援保护方法 |
CN112700813B (zh) * | 2020-12-25 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种基于磨损状态的nand控制方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354906A (zh) * | 2008-08-11 | 2009-01-28 | 湖南源科创新科技股份有限公司 | 应用于固态硬盘的闪存控制器 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354906A (zh) * | 2008-08-11 | 2009-01-28 | 湖南源科创新科技股份有限公司 | 应用于固态硬盘的闪存控制器 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN102279825A (zh) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102279825B (zh) | 一种固态硬盘控制器的智能dma控制器 | |
JP5759623B2 (ja) | メモリシステムコントローラを含む装置および関連する方法 | |
JP5918359B2 (ja) | メモリシステムコントローラを含む装置および関連する方法 | |
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 | |
JP2016053983A (ja) | メモリシステムコントローラを含む装置 | |
KR20140035776A (ko) | 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법 | |
US20140372831A1 (en) | Memory controller operating method for read operations in system having nonvolatile memory device | |
US20140075102A1 (en) | Controller of a nonvolatile memory device and a command scheduling method thereof | |
KR20130112210A (ko) | 메모리 시스템 및 그것의 페이지 교체 방법 | |
US20190065102A1 (en) | Memory system and operating method thereof | |
CN102566939B (zh) | 一种固态硬盘及其读-修改-写操作的数据管理方法 | |
KR102595233B1 (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
US20160062896A1 (en) | Memory system | |
KR20130036727A (ko) | 반도체 저장 장치 기반 시스템에서 메인 메모리가 없는 직접 메모리 엑세스 시스템 | |
US20220350655A1 (en) | Controller and memory system having the same | |
CN103403667A (zh) | 数据处理方法和设备 | |
CN111435291A (zh) | 用于擦除非易失性存储器块中编程的数据的装置和方法 | |
TWI613656B (zh) | 固態硬碟系統的優先寫入方法以及使用該方法的裝置 | |
WO2015058641A1 (zh) | 一种混合硬盘的实现方法及装置 | |
CN102236625A (zh) | 一种可同时进行读写操作的多通道NANDflash控制器 | |
KR20100120518A (ko) | 데이터 저장 장치 및 그것의 읽기 커멘드 처리 방법 | |
US8713204B2 (en) | High-performance AHCI interface | |
CN115883022B (zh) | Dma传输控制方法、装置、电子设备及可读存储介质 | |
CN102096559A (zh) | 一种提高sata接口固态硬盘数据传输效率的方法 | |
CN202632285U (zh) | 一种应用智能dma的ssd控制器 |
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 |