CN1577292A - 存储控制芯片及数据存储控制方法 - Google Patents
存储控制芯片及数据存储控制方法 Download PDFInfo
- Publication number
- CN1577292A CN1577292A CN 03140023 CN03140023A CN1577292A CN 1577292 A CN1577292 A CN 1577292A CN 03140023 CN03140023 CN 03140023 CN 03140023 A CN03140023 A CN 03140023A CN 1577292 A CN1577292 A CN 1577292A
- Authority
- CN
- China
- Prior art keywords
- controller
- register
- dma
- data
- processor
- 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
Images
Landscapes
- Bus Control (AREA)
Abstract
一种存储控制芯片,用于控制半导体存储介质的数据存取及与主机的数据传输,包括:处理器,作为整个芯片的控制器,主要控制数据的存取、传输和参数的设置;协议实现控制器,与处理器相连接,使数据传输符合协议标准;外部存储介质控制器,与处理器相连接,控制外部存储介质的数据存取;内部存储模块,存储所述存储控制芯片的应用程序和/或***程序,以及可作为所述存储控制芯片进行数据传输的缓存;寄存器组,可以设有控制参数及状态参数;DMA控制器,实现数据快速传输;以及数据校验模块,采用在线编解码,实现数据传输中的快速校验。具有数据传输快速、正确、可靠性高的优点。
Description
技术领域
本发明涉及计算机芯片技术,尤其涉及存储控制芯片的设计以及数据存储控制的方法。
背景技术
半导体存储技术的不断发展,为数据移动存储领域开辟了新的空间。因半导体存储产品体积小、容量大,高速存取、携带方便,性能稳定、不易损坏等优点而得到了越来越普及的应用。尤其是以闪速存储器(FLASHMemoty)为存储介质的半导体存储产品,更已成为新一代个人数据的移动存储应用品,而应用于该类半导体存储产品的存储控制芯片,更是成为控制其数据存取的核心部件。目前,在国内外应用较广泛的存储控制芯片包括Hitachi公司的H8S3664、H8S2215,ST公司的ST92163,3S公司的6633B2等。
然而,大多数存储控制芯片均通过处理器控制方式进行数据存取,即通过程序控制输出输入或中断控制输出输入等方式进行数据存取,这些方式需要处理器大量的时间进行检查和等待或者花费大量的时间进行中断处理,使得数据存取速率低、响应时间长,从而导致工作效率低,因而,有直接存储器存取(DMA)的方式出现,DMA方式是增加DMA控制器来代替中央处理器工作,对成批的数据进行直接存取,这种方式除了在数据块的起始和结束时需要处理器干预外,均由DMA控制器完成数据的存取,从而使得处理器在数据存取过程中可以进行其它工作,大大提高了工作效率。但是,其芯片中没有数据检查与正确性保障的功能,因此在数据读写过程中很容易发生错误,影响数据存取的正确性。
从而,某些芯片为了在功能设置上克服上述缺点,设置了检验和纠正的功能,例如奇偶检验(Parity)和错误检查和纠正(ECC)等。但是,现今这类具有数据检查与正确性保障功能的控制芯片,均不能在数据传输过程即时地对数据进行正确性检查,而只是在传输完一段数据以后才检查所传输的数据是否正确,因此不能即时地保障所传输数据的正确性和完整性;而且,因为在传输完一段数据后再进行检验和纠正,占用了处理器的工作时间,降低了处理器的效率。另外,大多存储控制芯片的DMA方式仅仅提供一种DMA传输类型,例如从第一存储器到第二存储器,并未提供将存储器擦除、编程等所需的数据直接传输到存储器等的DMA传输类型,其数据直接存取控制的数据传输的DMA传输类型少,从而影响操作的灵活性。
发明内容
本发明的目的是在现有技术基础上,针对现有技术应用领域的不足,提供一种具有DMA功能、在线检查和纠正错误功能,并且能够提供多种DMA传输类型的存储控制芯片以及其实现数据存取的方法,实现用户数据的高速存取。
本发明存储控制芯片可以通过以下技术方案实现:
一种存储控制芯片,用于控制半导体存储介质的数据存取及与主机的数据传输,包括:
处理器,作为整个芯片的控制器,主要控制数据的存取、传输和参数的设置;
协议实现控制器,与处理器相连接,使数据传输符合协议标准;
外部存储介质控制器,与处理器相连接,控制外部存储介质的数据存取;
内部存储模块,存储所述存储控制芯片的应用程序和/或***程序,以及可作为所述存储控制芯片进行数据传输的缓存;
寄存器组,可以设有控制参数及状态参数;
DMA控制器,至少与处理器、协议实现控制器、外部存储介质控制器电连接,实现数据快速传输;以及
数据校验模块,与DMA控制器、协议实现控制器及外部存储介质控制器相连接,采用在线编解码,实现数据传输中的快速校验。
本发明存储控制芯片实现数据存取还可以通过以下方案实现:
一种存储控制芯片实现数据存取的方法,当存储控制芯片在进行数据存取时,还包括如下步骤:
1)通过处理器定义DMA控制器的参数,设置DMA控制器的DMA数据传输类型,同时根据数据传输类型设置数据校验模块的参数;
2)DMA控制器根据所述数据传输类型所设置的数据传输方式执行DMA数据传输,在数据传输中采用在线编解码实现数据的快速校验;
3)所述DMA控制器根据数据传输的结果输出DMA控制器传输标志;
4)所述处理器查询所述DMA控制器传输标志或DMA控制器产生中断,并且处理器根据查询的传输标志或中断作出结束数据传输的操作。
所述的寄存器组包括处理器控制寄存器、处理器状态寄存器、处理器地址寄存器、DMA控制寄存器、DMA状态寄存器、DMA计数寄存器、协议实现控制寄存器、协议实现状态寄存器、协议实现计数寄存器、外部存储介质计数寄存器、内部存储模块地址寄存器、外部存储介质地址寄存器、外部存储介质命令寄存器、数据校验控制寄存器和/或数据校验状态寄存器。
所述的DMA数据传输类型包括但不限于:从协议实现控制器到外部存储介质控制器、协议实现控制器到内部存储模块、内部存储模块到协议实现控制器、内部存储模块到外部存储介质控制器、外部存储介质控制器到内部存储模块、外部存储介质控制器到内部存储模块(扇区的最后16个字节)、外部存储介质控制器到协议实现控制器的数据传输,以及对外部存储介质的擦除、外部存储介质的编程。
本发明所述的存储控制芯片可以通过设置DMA控制器及通过设定相关寄存器参数实现以多种数据传输方式进行数据存取,以及通过错误检查和纠正功能即时在线地对所传输的数据进行纠错和检错,具有存取速度快、性能稳定、错误发生率低等优点。
附图说明
图1是本发明硬件架构示意图;
图2是本发明实施例硬件架构示意图;
图3是本发明实施例数据DMA传输的流程图;
图4是本发明第二实施例硬件架构示意图;
图5是本发明第三实施例硬件架构示意图。
具体实施方式
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
请参阅图1,本发明存储控制芯片1用于连接外部存储介质3与***主机5,并且控制数据大量、快速和正确地传输,从功能模块上分,包括处理器(MCU)20、DMA控制器30、协议实现控制器40、外部存储介质控制器50、数据校验模块60、内部存储模块70、PLL模块80以及寄存器组90。
这里所说的外部存储介质3是指但不局限于SDRAM、DRAM、EPPROM、静态随机存取存储器(SRAM)、铁磁随机存储器/铁电存贮器(FRAM)、磁阻式随机存取存储器(MRAM)、超高密度存储芯片(MILLIPEDE)、闪存介质(FLASH Memory)等。这里所说的***主机5是指但不局限于个人电脑、笔记本电脑、掌上电脑、个人数字助理机(PDA)、数码相册、数码相机、数码摄像机等。
所述的处理器20可以采用可编程单片机(微控制器,MCU)作为整个存储控制芯片的控制器,还可以采用DSP控制器、Risc控制器、X86控制器等。通过访问、控制上述的DMA控制器30、协议实现控制器40、外部存储介质控制器50、数据校验模块60、内部存储模块70、PLL模块80以及寄存器组90等,实现控制上述功能模块、参数配置等功能。
所述的DMA控制器30连接并且受控于上述的处理器20,通过该处理器20发出的指令启动DMA控制器30。并且,该DMA控制器30可以通过调用所述的寄存器组90中的参数及参数值,建立DMA数据传输通道,完成不同DMA传输类型的数据快速传输功能。
所述的协议实现控制器40主要是实现与***主机5进行数据交换,包括:编解码、校检、位填充、地址编码、转换等,从而使与***主机之间的数据交换符合相对应的协议标准。
所述的数据校验模块60是在数据交换的过程中通过在线的编解码,可以采用但不限于汉明码(Hamming Code)或RS(Reed-Soloman)码等的在线编解码,保障数据的正确性。该数据校验模块60是在DMA数据交换通道建立的同时,即开始运作。
该内部存储模块70作为整个存储控制芯片的内存,可包括ROM和/或RAM。其中,ROM主要是存储控制整个芯片操作的应用程序和/或***程序;RAM作为应用程序运行的缓存,并且可以存储由外部存储介质3或/和***主机5传输来的数据。所述的RAM可以选用但不限于SRAM、DRAM、SDRAM、MRAM、FRAM等。
所述的外部存储介质控制器50是用来控制外部存储介质的读写时序。可以是(但不限于)闪存介质控制器、MRAM控制器、超高密度存储介质控制器等等。而所述的PLL模块80则控制整个芯片的时钟,可以提供48MHz、24MHz和12MHz。
所述的寄存器组90包括多个寄存器,可以分别设定并且存储各个控制器、模块对应的默认的参数及参数值。该寄存器组90至少包括:处理器控制寄存器、处理器状态寄存器、处理器地址寄存器、DMA控制寄存器、DMA状态寄存器、DMA计数寄存器、协议实现控制寄存器、协议实现状态寄存器、协议实现计数寄存器、外部存储介质计数寄存器、RAM地址寄存器、外部存储介质地址寄存器、外部存储介质命令寄存器、数据校验控制寄存器、数据校验状态寄存器等。
本发明存储控制芯片1具有两种操作模式:处理器模式和DMA模式,通过对应寄存器的相应参数来决定采用何种操作模式。其中,处理器模式是由处理器20对整个芯片的数据线和地址线进行控制,处理器20可以通过指令访问内部存储模块70、协议实现控制器40、外部存储介质50等,该处理器模式主要用于对协议实现控制器40的配置;DMA模式是由DMA控制器30对整个芯片的数据线和地址线进行控制,主要是根据相关寄存器的不同参数及参数值来建立DMA数据传输通道,完成不同类型的DMA数据传输。所述的DMA数据传输类型包括但不限于:从协议实现控制器到外部存储介质控制器、协议实现控制器到内部存储模块、内部存储模块到协议实现控制器、内部存储模块到外部存储介质控制器、外部存储介质控制器到内部存储模块、外部存储介质控制器到内部存储模块(扇区的最后16个字节)、外部存储介质控制器到协议实现控制器的数据传输,以及对外部存储介质的擦除、外部存储介质的编程。
图2是本发明存储控制芯片的优选实施例的方框图。请参阅图2,下面结合本发明存储控制芯片的一种优选实施方式对本发明作进一步阐述。
该存储控制芯片1包括处理器20、DMA控制器30、USB协议实现控制器41、闪存介质控制器51、在线ECC模块61、内部存储模块70、PLL模块80及寄存器组90。其中该USB协议实现控制器41是协议实现控制器40的一种实施方式;闪存介质控制器51是外部存储介质控制器50的一种实施方式;在线ECC模块61是数据校验模块60的一种实施方式;这里的内部存储模块70包括ROM72和SRAM71。与闪存介质控制器51相应地,外部存储介质3可以选用闪存介质31。
所述处理器20采用8051指令兼容的8位单片机,作为整个芯片的控制器。所述处理器20通过访问、控制DMA控制器30、协议实现控制器41、闪存介质控制器51、在线ECC模块61、内部存储模块70以及PLL模块80实现数据存取功能。该存储控制芯片1的应用程序、***程序以及其他相关的专用信息(例如产品信息、用户信息等)可以存储在内部存储模块70中,供处理器20直接调用。
所述的DMA控制器30连接并且受控于上述的处理器20,通过该处理器20发出的指令启动DMA控制器30,并且由DMA控制器30控制数据的DMA传输(详后述)。
所述的USB协议实现控制器41可以与***主机5进行数据交换。该USB协议实现控制器41是通过完成倒转不归零制(NRZI)的编解码、循环冗余码校验(CRC)的生成和校验、位填充、USB包的端点地址编码、差分信号与数字信号的转换等功能,使得数据符合USB标准协议的要求,与***主机5进行交换。
所述的闪存介质控制器51可以与外部闪存介质31相连接,并控制外部闪存介质31的数据存取的读写时序。
所述的在线ECC模块61采用汉明码(Hamming Code)在线编解码,完成对数据的1位纠错和两位检错的功能。这种纠一检二的功能可以校正数据的单位错误,存储器不因单错而中断工作,故其平均无故障时间(MTBF)增大,提高了正确性和可靠性。而所述的PLL模块80则控制整个存储控制芯片1的时钟,实现时钟管理功能。
所述的寄存器组90设有多个寄存器,可以包括处理器控制寄存器、处理器状态寄存器、处理器地址寄存器、DMA控制寄存器、DMA状态寄存器、SRAM地址寄存器、DMA计数寄存器、FLASH地址寄存器、FLASH命令寄存器、USB控制寄存器、USB计数寄存器、FLASH计数寄存器、ECC控制寄存器、ECC状态寄存器等。可以理解的,本发明存储控制芯片1的寄存器组90还可以包括但不限于FLASH缓冲寄存器、FLASH片选寄存器、FLASH命令设置寄存器、FLASH状态寄存器、USB状态寄存器、ECC结果寄存器等。
本发明存储控制芯片1在结构上更为注重处理器20和其他硬件之间的便捷操作,所述处理器20和其他控制设备(相对于该存储控制芯片1的处理器20来说,如DMA控制器30、协议实现控制器41等)是通过调用寄存器组90相应的默认参数及参数值,来完成该存储控制芯片1的功能操作的。
上述寄存器组90的各个寄存器可以预先定义DMA控制器30进行数据传输的大部分参数,这种设计将极大地减少从处理器数据操作到DMA数据操作的初始化时间,在一些特殊情况下,如果所述预先定义的参数值没有符合操作请求,处理器20还可以对其进行修正。
本发明DMA控制器30进行数据传输是主要调用相关的寄存器参数来完成的,即调用DMA控制寄存器、SRAM地址寄存器、USB计数寄存器、FLASH计数寄存器、FLASH地址寄存器、FLASH命令寄存器等的默认参数值来完成不同类型的DMA数据传输。并且,本发明的DMA数据传输主要是通过调用DMA控制寄存器的参数进行的,并且在DMA数据传输过程中可以实现在线ECC功能,所以下面对所述DMA控制寄存器以及ECC控制寄存器的参数进行说明。
所述的DMA控制寄存器设定的参数主要包括DMA_EN、DMA_DONE、DMA_TYPE、USB_EPT、USE_DEFAULT,其参数功能和设置描述分别如下:
参数DMA EN主要用于切换操作模式,其默认值为0,即本发明存储控制芯片1的默认操作模式为处理器模式,由处理器20对该存储控制芯片1的全部数据线和地址线进行控制;当其参数值设置为1时,则切换到DMA模式,即由DMA控制器30对该存储控制芯片1的数据线和地址线进行控制,在数据完成DMA传输后,所述DMA控制器30将该参数值再次设置为0,使得存储控制芯片1处在处理器模式下。
参数DMA_DONE主要用于产生处理器20输入端口的中断信号,其默认值为1。所述处理器20必须在设置DMA_EN参数时将其清0,使所述处理器20不产生中断信号输入,在所述DMA控制器30在完成DMA数据传输后,将其设置为1,即产生中段信号通知处理器20其数据已经完成DMA传输。
参数USB_EPT主要用于指示关于USB协议实现控制器41的DMA传输,其参数值为0时,表示数据传输到USB协议实现控制器41,当其参数值为1时,则表示数据从USB协议实现控制器41送出。当数据的DMA传输与USB协议实现控制器41无关时,其参数值可以是任意值。
参数USE_DEFAULT的参数值从0变为1时,与数据DMA传输相关的寄存器获得默认值,对DMA传输的地址、数据大小进行初始化设置。
参数DMA_TYPE主要用于定义DMA数据传输类型,其数据传输类型可以为多种类型,例如:从USB协议实现控制器41传输到SRAM71的缓存区的DMA数据传输、从USB协议实现控制器41传输到闪存介质控制器51的DMA数据传输、SRAM71传输到闪存介质控制器51的DMA数据传输等等,同时还定义一些对外部闪存介质31进行的非DMA数据传输的操作,例如:擦除、编程或者其他的命令。
所述的ECC控制寄存器的主要参数是ECC_EN,主要用于切换在线ECC模块61的工作,其默认值为1,在线ECC功能开启,即在进行DMA数据传输的过程中进行在线纠错。在部分不需要检错或纠错的非DMA数据传输(例如对外部闪存介质3的擦除)时,ECC_EN参数值则为0,即在线ECC模块61无需工作。
本发明的两种操作模式(处理器模式和DMA模式)的切换是通过参数DMA_EN的设置来控制的。其默认模式是处理器模式,在此模式下,所述的处理器20是通过USB协议实现控制器41传来的中断信号进行初始化的。在任意时刻,当***主机5需要处理器20响应,则一个低态有效中断信号会通知处理器20,然后,处理器20通过读取USB协议实现控制器41的检测中断的状态,确定响应动作。如果该响应不需要数据传输,处理器20会处理该请求;如果该响应要求数据传输,则DMA控制器30通过处理器20进行初始化,然后进入DMA模式,直到数据完成DMA传输。
当参数DMA_EN为“0”时,整个芯片处于处理器模式,所有的数据和地址总线均由处理器20直接控制。该处理器20可以通过MOVX等指令访问内部存储模块70、USB协议实现控制器41、闪存介质控制器51和各个寄存器等,该处理器模式主要用于对USB协议实现控制器41的配置。
当参数DMA_EN为“1”时,整个芯片处于DMA模式,所有的数据和地址总线均由DMA控制器30直接控制。其中可以有12种DMA数据传输类型(当然,可以多于或少于12种),其中可以包括一些由DMA控制器30控制完成的非DMA数据传输的命令。上述的DMA数据传输类型的选用是通过处理器20来控制选用DMA控制寄存器中的参数DMA_TYPE的参数值来实现的。而且,在DMA数据传输的通道建立的同时,处理器20根据DMA数据传输类型设置ECC控制寄存器的参数ECC_EN,启动或停止在线ECC模块61。该在线ECC模块61是采用汉明码在线编解码,完成对数据的一位纠错、两位检错的功能,从而确保数据传输的正确性和可靠性。
上面所述的DMA数据传输类型包括但不限于从USB协议实现控制器41传输到闪存介质控制器51、USB协议实现控制器41到SRAM71、SRAM71到USB协议实现控制器41、SRAM71到闪存介质控制器51、闪存介质控制器51到SRAM71、闪存介质控制器51到SRAM71(闪存扇区的最后16个字节)、闪存介质控制器51到USB协议实现控制器41、外部闪存介质31的擦除、外部闪存介质31的编程等,还包括外部闪存介质31的其他操作命令以及busy信号检查等。上述不同类型的DMA数据传输可以通过使DMA传输有效(通过参数DMA EN设置)、设置DMA传输类型(调用参数DMA_TYPE适当的参数值)、进行DMA数据传输(同时进行在线校验)、查询DMA传输标志或产生DMA传输完成中断(如参数USB_EPT等)等过程(如图3所示),并且调用对应寄存器的默认参数值完成DMA数据传输。
下面以数据从***主机5传输到外部闪存介质31的实例,来对本发明的数据传输作进行进一步阐述。
首先,数据从***主机5传输到USB协议实现控制器41,该USB协议实现控制器41对该数据进行编解码、校验、位填充、地址编码、转换等,使得数据类型符合标准。
接着,产生中断信号,向处理器20发出请求需要进行数据传输。该处理器20检测到需要进行从USB协议实现控制器41传输到闪存介质控制器51的数据传输,则处理器20检测相关的寄存器的参数是否为默认值,如果不是,处理器20则对其进行修正,使得其能够符合数据从USB协议实现控制器41传输到闪存介质控制器51的DMA传输要求;其中,相关的寄存器包括但不限于USB计数寄存器、DMA计数寄存器、FLASH地址寄存器、FLASH命令寄存器、FLASH片选寄存器、FLASH状态寄存器、FLASH计数寄存器等。
然后,处理器20对DMA控制寄存器30进行设置,即将参数DMA_DONE的参数值设置为0、选择参数DMA_TYPE为USB协议实现控制器41传输到闪存介质控制器51、设置参数USE_DEFAULT的参数值为1,即从寄存器参数中获得参数值、设置参数USB_EPT的参数值为1、设置参数DMA_EN的参数值为1,同时,处理器20根据所选择的DMA数据传输类型,设置ECC控制寄存器的参数ECC_EN为1,是在线ECC模块61处于工作状态,继而开始数据的DMA传输。数据就会以一个字节为单元地从USB协议实现控制器41传输到闪存介质控制器51,在这过程中,在线ECC模块61将采用汉明码在线编解码,完成对数据的一位纠错、两位检错的功能,从而确保数据传输的正确性和可靠性。
最后,由闪存介质控制器51对外部闪存介质31的读写时序进行控制,将数据写入到外部闪存介质31中,直至完成所有要求传输数据的传输。当DMA数据传输完成后,处理器20查询结束标志或DMA控制器30产生DMA传输完成的中断通知处理器20,则处理器20控制DMA控制器30将重置参数DMA_DONE、清除参数DMA_EN和USE_DEFAULT的值,结束DMA传输。
请参阅图4,是本发明存储控制芯片1的第二实施例,其中上面所述的协议实现控制器40可以选用IEEE1394协议实现控制器42。该IEEE1394协议实现控制器42建立与***主机5的IEEE1394连接,负责IEEE1394协议的解释、转换、控制、传输等,使得数据传输符合IEEE1394协议标准,实现与***主机5之间的数据传输。相应地,USB计数寄存器、USB控制寄存器等,使用IEEE1394计数寄存器、IEEE1394控制寄存器予以取代。而DMA控制寄存器的参数USB_EPT相应的改成IEEE1394_EPT即可。
当数据从***主机5传输到IEEE1394协议实现控制器42时,首先,该IEEE1394协议实现控制器42对该数据进行编解码、校验、位填充、地址编码、转换等,使得数据类型符合标准。
接着,产生中断,向处理器20发出请求。该处理器20检测到需要进行从IEEE1394协议实现控制器42传输到闪存介质控制器51的数据传输,则处理器20检测相关的寄存器的参数是否为默认值,如果不是,处理器20则对其进行修正,使得其能够符合数据从IEEE1394协议实现控制器42传输到闪存介质控制器51的DMA传输要求;其中,相关的寄存器包括但不限于FLASH地址寄存器、FLASH命令寄存器、FLASH片选寄存器、FLASH状态寄存器、FLASH计数寄存器等。
然后,处理器20对DMA控制寄存器30进行设置,即将参数DMA_DONE的参数值设置为0、选择参数DMA_TYPE为IEEE1394协议实现控制器42传输到闪存介质控制器51、设置参数USE_DEFAULT的参数值为1,即从其默认寄存器参数中获得默认值、设置参数IEEE1394_EPT的参数值为1、设置参数DMA_EN的参数值为1,同时,处理器20根据所选择的DMA数据传输类型,设置ECC控制寄存器的参数ECC_EN为1,是在线ECC模块61处于工作状态,继而开始数据的DMA传输。数据就会以一个字节为单元地从IEEE1394协议实现控制器42传输到闪存介质控制器51,在这过程中,在线ECC模块61将采用汉明码在线编解码,完成对数据的一位纠错、两位检错的功能,从而确保数据传输的正确性和可靠性。
最后,由闪存介质控制器51对外部闪存介质31的读写时序进行控制,将数据写入到外部闪存介质31中,直至完成所有要求传输数据的传输。当DMA数据传输完成后,DMA控制器30将重置参数DMA_DONE、清除参数DMA_EN和USE_DEFAULT的值,并产生中断通知处理器20已完成数据的DMA传输。
请参阅图5,是本发明存储控制芯片1的第三实施例,其中上面所述的协议实现控制器40可以选用蓝牙协议实现控制器43。该蓝牙协议实现控制器43建立与***主机5的无线连接,负责蓝牙协议的解释、转换、控制、传输等,使得数据传输符合蓝牙协议标准,实现与***主机5的无限数据传输。相应地,USB计数寄存器、USB控制寄存器等,使用蓝牙计数寄存器、蓝牙控制寄存器予以取代。而DMA控制寄存器的参数USB_EPT相应的改成BLUETOOTH_EPT即可。
当数据从***主机5传输到蓝牙协议实现控制器43时,首先,该蓝牙协议实现控制器43对该数据进行编解码、校验、位填充、地址编码、转换等,使得数据类型符合蓝牙协议标准。
接着,产生中断,向处理器20发出请求。该处理器20检测到需要进行从蓝牙协议实现控制器43传输到闪存介质控制器51的数据传输,则处理器20检测相关的寄存器的参数是否为默认值,如果不是,处理器20则对其进行修正,使得其能够符合数据从蓝牙协议实现控制器42传输到闪存介质控制器51的DMA传输要求;其中,相关的寄存器包括但不限于FLASH地址寄存器、FLASH命令寄存器、FLASH片选寄存器、FLASH状态寄存器、FLASH计数寄存器等。
然后,处理器20对DMA控制寄存器30进行设置,即将参数DMA_DONE的参数值设置为0、选择参数DMA_TYPE为蓝牙协议实现控制器43传输到闪存介质控制器51、设置参数USE_DEFAULT的参数值为1,即从其默认寄存器参数中获得默认值、设置参数BLUETOOTH_EPT的参数值为1、设置参数DMA_EN的参数值为1,同时,处理器20根据所选择的DMA数据传输类型,设置ECC控制寄存器的参数ECC_EN为1,是在线ECC模块61处于工作状态,继而开始数据的DMA传输。数据就会以一个字节为单元地从蓝牙协议实现控制器43传输到闪存介质控制器51,在这过程中,在线ECC模块61将采用汉明码在线编解码,完成对数据的一位纠错、两位检错的功能,从而确保数据传输的正确性和可靠性。
最后,由闪存介质控制器51对外部闪存介质31的读写时序进行控制,将数据写入到外部闪存介质31中,直至完成所有要求传输数据的传输。当DMA数据传输完成后,DMA控制器30将重置参数DMA_DONE、清除参数DMA_EN和USE_DEFAULT的值,并产生中断通知处理器20已完成数据的DMA传输。
可以理解的,所述的协议实现控制器40还可以选用其他协议实现控制器,例如红外线协议实现控制器、PCMCIA协议实现控制器、局域网无线协议(如802.11a、802.11b、802.11g等)实现控制器、超宽频(UWB)协议实现控制器、短距无线通讯(Zigbee)协议实现控制器等。
Claims (13)
1.一种存储控制芯片,用于控制半导体存储介质的数据存取及与主机的数据传输,包括:
处理器,作为整个芯片的控制器,主要控制数据的存取、传输和参数的设置;
协议实现控制器,与处理器相连接,使数据传输符合协议标准;
外部存储介质控制器,与处理器相连接,控制外部存储介质的数据存取;
内部存储模块,存储所述存储控制芯片的应用程序和/或***程序,以及可作为所述存储控制芯片进行数据传输的缓存;
寄存器组,可以设有控制参数及状态参数;
DMA控制器,至少与处理器、协议实现控制器、外部存储介质控制器电连接,实现数据快速传输;以及
数据校验模块,与DMA控制器、协议实现控制器及外部存储介质控制器相连接,采用在线编解码,实现数据传输中的快速校验。
2.根据权利要求1所述的存储控制芯片,其特征在于:可工作于处理器模式和/或DMA模式。
3.根据权利要求1所述的存储控制芯片,其特征在于:所述的处理器可以是微控制器、DSP控制器、Risc控制器或X86控制器。
4.根据权利要求1所述的存储控制芯片,其特征在于:所述的协议实现控制器可以是USB协议实现控制器、IEEE1394协议实现控制器、蓝牙协议实现控制器、红外线协议实现控制器、PCMCIA协议实现控制器、UWB协议实现控制器、Zigbee协议实现控制器和/或局域网无线协议实现控制器。
5.根据权利要求1所述的存储控制芯片,其特征在于:所述的数据校验模块可以是采用汉明码、RS码在线编解码的ECC模块。
6.根据权利要求1至5项中任一项所述的存储控制芯片,其特征在于:所述的外部存储介质控制器可以是闪存介质控制器、MRAM控制器、超高密度存储介质控制器。
7.根据权利要求6所述的存储控制芯片,其特征在于:所述的寄存器组包括处理器控制寄存器、处理器状态寄存器、处理器地址寄存器、DMA控制寄存器、DMA状态寄存器、DMA计数寄存器、协议实现控制寄存器、协议实现状态寄存器、协议实现计数寄存器、外部存储介质计数寄存器、内部存储模块地址寄存器、外部存储介质地址寄存器、外部存储介质命令寄存器、数据校验控制寄存器和/或数据校验状态寄存器。
8.根据权利要求7所述的存储控制芯片,其特征在于:所述协议实现控制寄存器可以是USB控制寄存器、IEEE1394控制寄存器或蓝牙控制寄存器,所述协议实现计数寄存器可以是USB计数寄存器、IEEE1394计数寄存器或蓝牙计数寄存器。
9.根据权利要求7所述的存储控制芯片,其特征在于:所述外部存储介质计数寄存器可以是FLASH计数寄存器,所述的外部存储介质地址寄存器可以是FLASH地址寄存器、所述的外部存储介质命令寄存器可以是FLASH命令寄存器,所述的数据校验控制寄存器可以是ECC控制寄存器。
10.根据权利要求7所述的存储控制芯片,其特征在于:所述的寄存器组还可以包括但不限于FLASH缓冲寄存器、FLASH片选寄存器、FLASH命令设置寄存器、FLASH状态寄存器、ECC结果寄存器。
11.一种根据权利要求1所述的存储控制芯片实现数据存取的方法,其特征在于:当存储控制芯片在进行数据存取时,还包括如下步骤:
1)通过处理器定义DMA控制器的参数,设置DMA控制器的DMA数据传输类型,同时根据数据传输类型设置数据校验模块的参数;
2)DMA控制器根据所述数据传输类型所设置的数据传输方式执行DMA数据传输,在数据传输中采用在线编解码实现数据的快速校验;
3)所述DMA控制器根据数据传输的结果输出DMA控制器传输标志;
4)所述处理器查询所述DMA控制器传输标志或DMA控制器产生中断,并且处理器根据查询的传输标志或中断作出结束数据传输的操作。
12.根据权利要求11所述的方法,其特征在于:所述的处理器可以调用所述寄存器组的参数和参数值或对所述的寄存器组的参数和参数值进行修正。
13.根据权利要求11所述的方法,其特征在于:所述的DMA数据传输类型包括但不限于:从协议实现控制器到外部存储介质控制器、协议实现控制器到内部存储模块、内部存储模块到协议实现控制器、内部存储模块到外部存储介质控制器、外部存储介质控制器到内部存储模块、外部存储介质控制器到内部存储模块、外部存储介质控制器到协议实现控制器的数据传输、对外部存储介质的擦除和/或外部存储介质的编程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB03140023XA CN100337217C (zh) | 2003-07-28 | 2003-07-28 | 存储控制芯片及数据存储控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB03140023XA CN100337217C (zh) | 2003-07-28 | 2003-07-28 | 存储控制芯片及数据存储控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1577292A true CN1577292A (zh) | 2005-02-09 |
CN100337217C CN100337217C (zh) | 2007-09-12 |
Family
ID=34579194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB03140023XA Expired - Lifetime CN100337217C (zh) | 2003-07-28 | 2003-07-28 | 存储控制芯片及数据存储控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100337217C (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006122474A1 (fr) * | 2005-05-18 | 2006-11-23 | Ziyi Cheng | Circuit et méthode pour améliorer la durée de vie du stockage |
WO2007048287A1 (fr) * | 2005-10-28 | 2007-05-03 | Chipsbank Technologies (Shenzhen) Co., Limited | Dispositif mémoire avec puce de commande à fonction de configuration compatible, et sa méthode de fabrication |
CN1956085B (zh) * | 2005-10-27 | 2010-05-12 | 联发科技股份有限公司 | 包含数据校验程序的记录数据的方法和*** |
CN101958152A (zh) * | 2010-10-19 | 2011-01-26 | 华中科技大学 | 一种nand flash控制器及其应用 |
US8205031B2 (en) | 2008-08-19 | 2012-06-19 | Sonix Technology Co., Ltd. | Memory management system and method thereof |
CN102654853A (zh) * | 2011-03-04 | 2012-09-05 | 上海华虹集成电路有限责任公司 | 一种采用两个微处理器的Nandflash控制器 |
CN101176075B (zh) * | 2005-05-18 | 2012-12-12 | 程滋颐 | 能够提高存储器使用寿命的电路和方法 |
CN102981990A (zh) * | 2012-11-09 | 2013-03-20 | 青岛海信移动通信技术股份有限公司 | 采用Android平台终端设备的数据传输方法及装置 |
CN103034599A (zh) * | 2012-12-12 | 2013-04-10 | 深圳国微技术有限公司 | 安全dma控制器、soc***及其数据搬运方法 |
TWI408553B (zh) * | 2008-05-16 | 2013-09-11 | Sonix Technology Co Ltd | 記憶體管理系統與方法 |
CN103473188A (zh) * | 2013-09-12 | 2013-12-25 | 华为技术有限公司 | Dsp处理器与外部存储器的数据交互方法、装置及*** |
CN104298572A (zh) * | 2013-07-19 | 2015-01-21 | 杨凤兰 | 一种纠错方法、装置和*** |
TWI476778B (zh) * | 2007-08-21 | 2015-03-11 | Samsung Electronics Co Ltd | Ecc控制電路、包含該電路的多通道記憶體系統以及相關操作方法 |
CN107077304A (zh) * | 2016-09-18 | 2017-08-18 | 深圳市大疆创新科技有限公司 | 数据转换设备、芯片、方法、装置及影像*** |
CN107967226A (zh) * | 2016-10-20 | 2018-04-27 | 国民技术股份有限公司 | 一种芯片间快速通讯的集成电路及控制方法 |
CN108122583A (zh) * | 2016-11-29 | 2018-06-05 | 杭州华为数字技术有限公司 | 执行储存型快闪记忆体命令的方法和装置 |
CN110704236A (zh) * | 2019-10-11 | 2020-01-17 | 南京元晨微电子科技有限公司 | 芯片flash数据的在线校验方法及计算机存储介质 |
WO2021035811A1 (zh) * | 2019-08-27 | 2021-03-04 | 江苏华存电子科技有限公司 | 一种可变动码率与更正能力内存控制方法 |
CN115391247A (zh) * | 2022-08-12 | 2022-11-25 | 青岛汉泰智能科技有限公司 | 一种phy数据传输*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5751641A (en) * | 1995-12-27 | 1998-05-12 | Sgs-Thomson Microelectronics, Inc. | Microprocessor memory test circuit and method |
TW406229B (en) * | 1997-11-06 | 2000-09-21 | Hitachi Ltd | Data process system and microcomputer |
KR20010050212A (ko) * | 1999-09-13 | 2001-06-15 | 스테븐 디.피터스 | 메모리 카드에 기록된 파일에 대한 접근 제어 시스템 |
US6581137B1 (en) * | 1999-09-29 | 2003-06-17 | Emc Corporation | Data storage system |
US6601126B1 (en) * | 2000-01-20 | 2003-07-29 | Palmchip Corporation | Chip-core framework for systems-on-a-chip |
-
2003
- 2003-07-28 CN CNB03140023XA patent/CN100337217C/zh not_active Expired - Lifetime
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101176075B (zh) * | 2005-05-18 | 2012-12-12 | 程滋颐 | 能够提高存储器使用寿命的电路和方法 |
WO2006122474A1 (fr) * | 2005-05-18 | 2006-11-23 | Ziyi Cheng | Circuit et méthode pour améliorer la durée de vie du stockage |
CN1956085B (zh) * | 2005-10-27 | 2010-05-12 | 联发科技股份有限公司 | 包含数据校验程序的记录数据的方法和*** |
WO2007048287A1 (fr) * | 2005-10-28 | 2007-05-03 | Chipsbank Technologies (Shenzhen) Co., Limited | Dispositif mémoire avec puce de commande à fonction de configuration compatible, et sa méthode de fabrication |
TWI476778B (zh) * | 2007-08-21 | 2015-03-11 | Samsung Electronics Co Ltd | Ecc控制電路、包含該電路的多通道記憶體系統以及相關操作方法 |
TWI408553B (zh) * | 2008-05-16 | 2013-09-11 | Sonix Technology Co Ltd | 記憶體管理系統與方法 |
US8205031B2 (en) | 2008-08-19 | 2012-06-19 | Sonix Technology Co., Ltd. | Memory management system and method thereof |
US8402199B2 (en) | 2008-08-19 | 2013-03-19 | Sonix Technology Co., Ltd. | Memory management system and method thereof |
CN101958152A (zh) * | 2010-10-19 | 2011-01-26 | 华中科技大学 | 一种nand flash控制器及其应用 |
CN101958152B (zh) * | 2010-10-19 | 2013-02-13 | 华中科技大学 | 一种nand flash控制器及其应用 |
CN102654853B (zh) * | 2011-03-04 | 2015-03-04 | 上海华虹集成电路有限责任公司 | 一种采用两个微处理器的Nandflash控制器 |
CN102654853A (zh) * | 2011-03-04 | 2012-09-05 | 上海华虹集成电路有限责任公司 | 一种采用两个微处理器的Nandflash控制器 |
CN102981990A (zh) * | 2012-11-09 | 2013-03-20 | 青岛海信移动通信技术股份有限公司 | 采用Android平台终端设备的数据传输方法及装置 |
CN102981990B (zh) * | 2012-11-09 | 2015-07-22 | 青岛海信移动通信技术股份有限公司 | 采用Android平台终端设备的数据传输方法及装置 |
CN103034599B (zh) * | 2012-12-12 | 2015-07-22 | 深圳国微技术有限公司 | 安全dma控制器、soc***及其数据搬运方法 |
CN103034599A (zh) * | 2012-12-12 | 2013-04-10 | 深圳国微技术有限公司 | 安全dma控制器、soc***及其数据搬运方法 |
CN104298572B (zh) * | 2013-07-19 | 2018-01-26 | 杨凤兰 | 一种纠错方法、纠错装置、主控制器和纠错*** |
CN104298572A (zh) * | 2013-07-19 | 2015-01-21 | 杨凤兰 | 一种纠错方法、装置和*** |
CN103473188A (zh) * | 2013-09-12 | 2013-12-25 | 华为技术有限公司 | Dsp处理器与外部存储器的数据交互方法、装置及*** |
CN103473188B (zh) * | 2013-09-12 | 2017-04-26 | 华为技术有限公司 | Dsp处理器与外部存储器的数据交互方法、装置及*** |
CN107077304A (zh) * | 2016-09-18 | 2017-08-18 | 深圳市大疆创新科技有限公司 | 数据转换设备、芯片、方法、装置及影像*** |
CN107077304B (zh) * | 2016-09-18 | 2019-02-12 | 深圳市大疆创新科技有限公司 | 数据转换设备、芯片、方法、装置及影像*** |
CN107967226A (zh) * | 2016-10-20 | 2018-04-27 | 国民技术股份有限公司 | 一种芯片间快速通讯的集成电路及控制方法 |
CN108122583A (zh) * | 2016-11-29 | 2018-06-05 | 杭州华为数字技术有限公司 | 执行储存型快闪记忆体命令的方法和装置 |
WO2021035811A1 (zh) * | 2019-08-27 | 2021-03-04 | 江苏华存电子科技有限公司 | 一种可变动码率与更正能力内存控制方法 |
CN110704236A (zh) * | 2019-10-11 | 2020-01-17 | 南京元晨微电子科技有限公司 | 芯片flash数据的在线校验方法及计算机存储介质 |
CN110704236B (zh) * | 2019-10-11 | 2020-09-01 | 南京元晨微电子科技有限公司 | 芯片flash数据的在线校验方法及计算机存储介质 |
CN115391247A (zh) * | 2022-08-12 | 2022-11-25 | 青岛汉泰智能科技有限公司 | 一种phy数据传输*** |
CN115391247B (zh) * | 2022-08-12 | 2023-11-03 | 青岛汉泰智能科技有限公司 | 一种phy数据传输*** |
Also Published As
Publication number | Publication date |
---|---|
CN100337217C (zh) | 2007-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100337217C (zh) | 存储控制芯片及数据存储控制方法 | |
EP2763045B1 (en) | Method and apparatus for allocating memory space with write-combine attribute | |
US9696942B2 (en) | Accessing remote storage devices using a local bus protocol | |
US9467512B2 (en) | Techniques for remote client access to a storage medium coupled with a server | |
US8010740B2 (en) | Optimizing memory operations in an electronic storage device | |
US8904095B2 (en) | Data storage device and operating method thereof | |
US20210278998A1 (en) | Architecture and design of a storage device controller for hyperscale infrastructure | |
TW201716980A (zh) | 資料儲存設備及其操作方法 | |
WO2013092121A1 (en) | Solid-state storage management | |
US20210157514A1 (en) | Apparatus and method for improving write throughput of memory system | |
KR20170043993A (ko) | 인터페이스 제어 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법 | |
KR102349381B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN107957970A (zh) | 一种异构多核的通讯方法及固态硬盘控制器 | |
CN106372011A (zh) | 用于pcie ssd控制器的高性能主机队列监控器 | |
CN112597078A (zh) | 数据处理***、存储器***和用于操作存储器***的方法 | |
CN113468083B (zh) | 一种双端口NVMe控制器及控制方法 | |
WO2021002896A1 (en) | Open channel vector command execution | |
CN113485643A (zh) | 用于数据存取的方法及数据写入的控制器 | |
CN112599170A (zh) | 用于在存储器***中提供多流操作的设备和方法 | |
TW202324073A (zh) | 記憶體控制器及其操作方法 | |
CN113157205B (zh) | 一种nand阵列的控制方法、控制器、电子设备及存储介质 | |
CN113721838A (zh) | 用于存储设备的写、读数据方法、存储控制器以及dma引擎 | |
US20160239224A1 (en) | Method and system for transferring data over a plurality of control lines | |
TW202123014A (zh) | 支持位元組可定址協定及塊可定址協定兩者的固態硬碟 | |
CN1691195B (zh) | 提高数据存取速度的移动存储装置及方法 |
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 | ||
CP03 | Change of name, title or address |
Address after: 518057 Guangdong city of Shenzhen province Nanshan District south road six, building 16, 18 Netac 19 Patentee after: NETAC TECHNOLOGY Co.,Ltd. Address before: The South Nanshan High tech Zone of Shenzhen City, Guangdong province 518057 a China Development Institute of science and technology incubator building, six floor Patentee before: Netac Technology Co.,Ltd. |
|
CP03 | Change of name, title or address | ||
CX01 | Expiry of patent term |
Granted publication date: 20070912 |
|
CX01 | Expiry of patent term |