CN105786749B - 一种基于nand flash接口的双通道ata协议桥接装置 - Google Patents
一种基于nand flash接口的双通道ata协议桥接装置 Download PDFInfo
- Publication number
- CN105786749B CN105786749B CN201610148923.0A CN201610148923A CN105786749B CN 105786749 B CN105786749 B CN 105786749B CN 201610148923 A CN201610148923 A CN 201610148923A CN 105786749 B CN105786749 B CN 105786749B
- Authority
- CN
- China
- Prior art keywords
- data
- ata
- flash
- bch
- fifo
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4239—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0032—Serial ATA [SATA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明基于NAND FLASH接口的双通道ATA协议桥接装置,包括FLASH接口转LOCAL接口子模块、BCH纠错码子模块和ATA接口子模块,FLASH接口转LOCAL接口子模块与外部FLASH主机控制器之间、FLASH接口转LOCAL接口子模块与BCH纠错码子模块之间、BCH纠错码子模块与ATA接口子模块之间、ATA接口子模块与外部硬盘之间均为双向通信连接。用户只需要设计简单的驱动程序配置该装置中的相关参数,即可利用现存的低成本存储设备应用于新的存储系统中,完成ONFI转PATA、ONFI转SATA、TOGGLE转PATA、TOGGLE转SATA四种应用功能,灵活性强,应用前景广阔。
Description
技术领域
本发明涉及一种基于NAND FLASH接口的双通道ATA协议桥接装置,属于微电子技术领域。
背景技术
NAND FLASH MEMORY具有存储单元体积小、编程速度快、擦除时间短等优点,应用领域越来越广泛,是目前业界非常流行的存储介质。根据生产厂家的不同,NAND FLASH接口标准分为ONFI、Toggle两种,英特尔、镁光、海力士采用ONFI接口标准;东芝、三星则采用Toggle标准。
目前,已经出现了多种基于此接口技术的主机端控制器,如中国专利CN105138470A公开的一种多通道NAND FLASH控制器;中国专利CN204270293U公开的多通道FLASH控制器;中国专利CN101958152A公开的一种NAND FLASH控制器及其应用。
因为NAND FLASH采用多层单元技术,相对于单层单元,加倍的提高了存储密度,使得相邻数据电压之间的空间变小,可靠性变差,因此需要更精确地控制和检测每个存储单元的电压,因此需要纠错码(Error Correction Code,ECC)技术的使用能够有效降低 NAND闪存单元的原始误码率,提高系统可靠性。BCH码是ECC纠错技术的一种,具有多位随机错误的检错和纠错能力,从而提高存储数据的可靠性,如中国专利CN101800560A 公开了Flash控制器中BCH编译码的纠错能力扩展方法。
硬盘接口是主机和硬盘之间传输命令和数据的连接部件,在当今消费市场中,ATA协议作为全球硬盘标准,在接口电路上分为并行ATA(PATA)、串行ATA(SATA)两种方式。PATA采用并行总线的数据传输方式,最高传输速率可达150MB/s,可以满足基于IDE、CF接口的低速、小容量存储设备的应用场景;SATA是一种高速的串行总线,不仅将接口总线从40帧减少到22帧,同时最高传输速率可达600MB/s,可以满足高速、大容量的应用场景。
而目前却没有一种将ONFI转PATA、ONFI转SATA、TOGGLE转PATA、TOGGLE转SATA四种应用功能的装置。
发明内容
本发明为了克服以上技术的不足,提供了一种基于NAND FLASH接口的双通道ATA协议桥接装置,重点解决接口协议转换及传输效率的问题,用户只需要设计简单的驱动程序配置该装置中的相关参数,即可利用现存的低成本存储设备应用于新的存储系统中,完成ONFI转PATA、ONFI转SATA、TOGGLE转PATA、TOGGLE转SATA四种应用功能,灵活性强,应用前景广阔。
本发明克服其技术问题所采用的技术方案是:
一种基于NAND FLASH接口的双通道ATA协议桥接装置,包括:
FLASH接口转LOCAL接口子模块,负责控制与外部FLASH主机控制器进行数据的读写,同时转换为LOCAL总线进行传输;
BCH纠错码子模块,用于进行数据的纠错与编码;
ATA接口子模块,负责控制与外部硬盘进行数据的读写;
所述FLASH接口转LOCAL接口子模块与外部FLASH主机控制器之间、FLASH接口转LOCAL接口子模块与BCH纠错码子模块之间、BCH纠错码子模块与ATA接口子模块之间,以及ATA接口子模块与外部硬盘之间均为双向通信连接。
根据本发明优选的,FLASH接口转LOCAL接口子模块与外部FLASH主机控制器相连接的一端为FLASH接口端,FLASH接口转LOCAL接口子模块与BCH纠错码子模块相连接的一端为LOCAL接口端,所述FLASH接口转LOCAL接口子模块包括:
接口模块NAND_IF,负责完成将收发的命令和数据按照FLASH接口时序信息操作,采用双通道结构同时完成两个FLASH通道的命令和数据交互;
数据通路控制模块DATA_PATH,当NAND_IF采用双通道结构进行数据读写时,DATA_PATH负责对双通道的数据进行排序与缓存,完成DATA_PATH两端数据流速度匹配;
逻辑通路控制模块CTRL_FLW,负责接收、解析主机控制器端发送的指令,将读写控制信号传递到DATA_PATH模块,同时根据解析出的命令码产生相应的回复状态返回给主机控制器端;
初始化控制模块INIT_CTRL,负责完成FLASH接口转LOCAL接口子模块两端的初始化命令交互,完成从主机控制器端FLASH接口数据传输模式、ATA传输模式、ECC是否使能、读写数据是否开启去反功能、读写数据是否开启加解扰功能和加解扰种子参数配置;
所述DATA_PATH依次通过读数据缓存器模块RDFIFO、读数据取反模块Rdata_inv和解扰模块Descrambler读取NAND_IF的数据,所述DATA_PATH依次通过加扰模块Scrambler、写数据取反模块Wdata_inv和写数据缓存模块WRFIFO将数据写入NAND_IF。
根据本发明优选的,所述FLASH接口转LOCAL接口子模块的FLASH接口端数量根据硬盘接口的不同而不同,以应用于不同宽带要求的场合:当采用PATA硬盘接口时,则使用单通道FLASH接口即可保证系统宽带要求;当采用SATA硬盘接口时,则使用双通道FLASH接口保证系统宽带要求。
根据本发明优选的,所述BCH纠错码子模块包括:运算模块BCH_OPR、数据控制模块BCH_CTRL、LOCAL端写数据缓存模块WR_FIFO、LOCAL端读数据缓存模块RD_FIFO、ATA端写数据缓存模块ATA_WR_FIFO以及ATA端读数据缓存模块ATA_RD_FIFO;当数据从FLASH端写入到ATA端时,数据首先进入WR_FIFO中,然后通过多路选择器选择直接进入ATA_WR_FIFO或经过BCH_OPR后再进入ATA_WR_FIFO;当数据从ATA端读出到FLASH端时,数据首先进入ATA_RD_FIFO中,然后通过多路选择器选择直接进入RD_FIFO或经过BCH_OPR后再进入RD_FIFO。
根据本发明优选的,当数据从FLASH端写入到ATA端时,数据首先进入WR_FIFO中,然后通过多路选择器,由写使能旁路使能信号w_bypass_en选择是否经过BCH_OPR进行纠错:
若w_bypass_en信号为低电平0,则数据不经过BCH_OPR纠错,直接进入ATA_WR_FIFO,等待ATA端数据传输;
若w_bypass_en信号为高电平1,则与数据相对应的BCH码值输入到BCH_OPR:若BCH错误校验多项式结果为0,则表明输入数据无错误,继续输出数据到ATA_WR_FIFO;若BCH错误校验多项式结果不为0,则表示数据在传输过程中出现了错误,进入纠错阶段,如果错误数据位在可纠错个数范围内,则置位bch错误发生标志位error_status_ok为1,纠错完成后,数据继续进入ATA_WR_FIFO,若错误数据位超过可纠错个数范围,则置位bch错误发生标志位error_status_fail为1,同时置位bch错误停止标志位error_stop停止向后的数据传输,等待CTRL_FLW处理。
根据本发明优选的,当数据从ATA端读出到FLASH端时,数据首先进入ATA_RD_FIFO中,然后通过多路选择器,由读使能旁路使能信号r_bypass_en选择是否经过BCH_OPR进行编码:
若r_bypass_en信号为低电平0,则数据不经过BCH_OPR编码,直接进入到RD_FIFO,等待FLASH端数据传输;
若r_bypass_en信号为高电平1,则数据进入BCH_OPR,同时根据输入数据计算出BCH码值,将数据以及BCH码值继续输出数据到RD_FIFO。
根据本发明优选的,所述ATA接口子模块包括:SATA协议控制模块SATA_CTRL、PATA协议控制模块PATA_CTRL、串行ATA接口电路模块SATA_PHY和并行ATA接口电路模块PATA_PHY;所述SATA_CTRL和PATA_CTRL通过多路选择器与BCH纠错码子模块进行数据交互,SATA_PHY的一端与SATA_CTRL双向连接、另一端与外部硬盘SATA DEVICE双向连接,PATA_PHY的一端与PATA_CTRL双向连接、另一端与外部硬盘PATA DEVICE双向连接。
根据本发明优选的,所述SATA_PHY完成串行ATA物理层接口时序操作,包含两条高速单工通道的低压差分信号收发器,分别负责接收和发送数据,支持150MB/s、300MB/s和600MB/s速率传输模式,采用8B/10B编码方式,保证底层数据完整性;所述PATA_PHY完成并行ATA物理层接口时序操作,最高支持150MB/s速率传输,支持时钟数据单沿模式SDR、时钟数据双沿模式DDR,采用循环冗余校验CRC保证底层数据完整性。
本发明的有益效果是:
1、用户只需要设计简单的驱动程序配置该装置中的相关参数,即可利用现存的低成本存储设备应用于新的存储系统中,完成ONFI转PATA、ONFI转SATA、TOGGLE转PATA、TOGGLE转SATA四种应用功能,重点解决了接口协议转换的问题,灵活性强,应用前景广阔。
2、FLASH接口端数量可配,应用于不同带宽要求的场合,还解决了传输效率的问题。当采用PATA接口时,则仅需要单通道FLASH接口即可保障系统带宽要求;当采用SATA接口时,则采用双通道FLASH接口保证系统带宽要求。
3、本发明的装置内部采用数据取反、加解扰功能,可降低PCB整机测试中的EMI难度。
4、本发明的装置内部采用ECC技术中的BCH码,与FLASH主控纠错技术一致,保证FLASH通道数据正确性,适用于对稳定性要求较高的场合。
附图说明
图1为本发明的原理示意图。
图2为本发明的FLASH接口转LOCAL接口子模块的结构示意图。
图3为本发明的BCH纠错码子模块的结构示意图。
图4为本发明的ATA接口子模块的结构示意图。
图1中:1、FLASH接口转LOCAL接口子模块,2、BCH纠错码子模块,3、ATA接口子模块。
图2中:101、NAND_IF,102、DATA_PATH,103、CTRL_FLW,104、INIT_CTRL,105、RDFIFO,106、Rdata_inv,107、Descrambler,108、Scrambler,109、Wdata_inv,110、WRFIFO。
图3中:201、BCH_OPR,202、BCH_CTRL,203、WR_FIFO,204、RD_FIFO,205、ATA_WR_FIFO,206、ATA_RD_FIFO。
图4中:301、SATA_CTRL,302、PATA_CTRL,303、SATA_PHY,304、PATA_PHY。
具体实施方式
为了便于本领域人员更好的理解本发明,下面结合附图和具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。
本发明基于NAND FLASH接口的双通道ATA协议桥接装置,如图1所示,包括:FLASH接口转LOCAL接口子模块1、BCH纠错码子模块2和ATA接口子模块3。所述FLASH接口转LOCAL接口子模块1负责控制与外部FLASH主机控制器进行数据的读写,同时转换为LOCAL总线进行传输,FLASH接口转LOCAL接口子模块1将从主机控制器端接收到的命令进行读取、分析、执行、反馈等操作,将FLASH协议层的命令分解为命令传输、地址传输、读写数据传输;所述BCH纠错码子模块2用于进行数据的纠错与编码;所述ATA接口子模块3负责控制与外部硬盘进行数据的读写。所述FLASH接口转LOCAL接口子模块1与外部FLASH主机控制器之间、FLASH接口转LOCAL接口子模块1与BCH纠错码子模块2之间、BCH纠错码子模块2与ATA接口子模块3之间,以及ATA接口子模块3与外部硬盘之间均为双向通信连接。
如图2所示,FLASH接口转LOCAL接口子模块1与外部FLASH主机控制器相连接的一端为FLASH接口端,FLASH接口转LOCAL接口子模块1与BCH纠错码子模块2相连接的一端为LOCAL接口端,所述FLASH接口转LOCAL接口子模块1包括:接口模块NAND_IF 101、数据通路控制模块DATA_PATH 102、逻辑通路控制模块CTRL_FLW 103和初始化控制模块INIT_CTRL104。所述NAND_IF 101负责完成将收发的命令和数据按照FLASH接口时序信息操作,采用双通道结构同时完成两个FLASH通道的命令和数据交互;所述数据通路控制模块DATA_PATH102,当NAND_IF 101采用双通道结构进行数据读写时,DATA_PATH 102负责对双通道的数据进行排序与缓存,完成DATA_PATH 102两端数据流速度匹配;所述CTRL_FLW 103负责接收、解析主机控制器端发送的指令,将读写控制信号传递到DATA_PATH模块 102,同时根据解析出的命令码产生相应的回复状态返回给主机控制器端;所述INIT_CTRL 104负责完成FLASH接口转LOCAL接口子模块1两端的初始化命令交互,完成从主机控制器端FLASH接口数据传输模式、ATA传输模式、ECC是否使能、读写数据是否开启去反功能、读写数据是否开启加解扰功能和加解扰种子参数配置。所述DATA_PATH 102依次通过读数据缓存器模块RDFIFO105、读数据取反模块Rdata_inv 106和解扰模块Descrambler 107读取NAND_IF 101的数据,所述DATA_PATH 102依次通过加扰模块Scrambler 108、写数据取反模块Wdata_inv 109和写数据缓存模块WRFIFO 110将数据写入NAND_IF 101。
所述FLASH接口转LOCAL接口子模块1的FLASH接口端数量根据硬盘接口的不同而不同:当采用PATA硬盘接口时,则使用单通道FLASH接口;当采用SATA硬盘接口时,则使用双通道FLASH接口。
当数据在FLASH接口转LOCAL接口子模块1通道传输时,由于传输速率、传输方式、PCB布板的影响,会造成数据信号的不稳定传输现象,因为FLASH主机控制器端为了提高FLASH器件数据存储的稳定性,采用了ECC纠错技术中的BCH码,所以在该装置中也采用了BCH纠错码子模块2进行数据的纠错与编码。如图3所示,所述BCH纠错码子模块2包括:运算模块BCH_OPR 201、数据控制模块BCH_CTRL 202、LOCAL端写数据缓存模块WR_FIFO 203、LOCAL端读数据缓存模块RD_FIFO 204、ATA端写数据缓存模块ATA_WR_FIFO 205以及ATA端读数据缓存模块ATA_RD_FIFO 206,所述BCH_CTRL 202通过控制w_bypass_en、r_bypass_en使能信号为BCH_OPR 201选择对应的输入与输出通路。
当数据从FLASH端写入到ATA端时(即,当数据从外部主机控制端写入外部硬盘时),数据首先进入WR_FIFO 203中,然后通过多路选择器,由写使能旁路使能信号w_bypass_en选择是否经过BCH_OPR 201进行纠错:
若w_bypass_en信号为低电平0,则数据不经过BCH_OPR 201纠错,直接进入ATA_WR_FIFO 205,等待ATA端数据传输;
若w_bypass_en信号为高电平1,则与数据相对应的BCH码值输入到BCH_OPR 201:若BCH错误校验多项式结果为0,则表明输入数据无错误,继续输出数据到ATA_WR_FIFO205;若BCH错误校验多项式结果不为0,则表示数据在传输过程中出现了错误,进入纠错阶段,如果错误数据位在可纠错个数范围内,则置位bch错误发生标志位error_status_ok为1,纠错完成后,数据继续进入ATA_WR_FIFO 205,若错误数据位超过可纠错个数范围,则置位bch错误发生标志位error_status_fail为1,同时置位bch错误停止标志位error_stop停止向后的数据传输,等待CTRL_FLW 103 处理。
当数据从ATA端读出到FLASH端时(即,当数据从外部硬盘读出到外部主机控制端时),数据首先进入ATA_RD_FIFO 206中,然后通过多路选择器,由读使能旁路使能信号r_bypass_en选择是否经过BCH_OPR 201进行编码:
若r_bypass_en信号为低电平0,则数据不经过BCH_OPR 201编码,直接进入到RD_FIFO 204,等待FLASH端数据传输;
若r_bypass_en信号为高电平1,则数据进入BCH_OPR 201,同时根据输入数据计算出BCH码值,将数据以及BCH码值继续输出数据到RD_FIFO 204。
如图4所示,所述ATA接口子模块3包括:SATA协议控制模块SATA_CTRL 301、PATA协议控制模块PATA_CTRL 302、串行ATA接口电路模块SATA_PHY 303和并行ATA接口电路模块PATA_PHY 304。所述SATA_CTRL 301和PATA_CTRL 302通过多路选择器与BCH纠错码子模块2进行数据交互,SATA_PHY 303的一端与SATA_CTRL 301双向连接、另一端与外部硬盘SATADEVICE双向连接,PATA_PHY 304的一端与PATA_CTRL 302双向连接、另一端与外部硬盘PATADEVICE双向连接。
所述SATA_PHY 303完成串行ATA物理层接口时序操作,包含两条高速单工通道的低压差分信号收发器,分别负责接收和发送数据,支持150MB/s、300MB/s和600MB/s速率传输模式,采用8B/10B编码方式,保证底层数据完整性;所述PATA_PHY 304完成并行ATA物理层接口时序操作,最高支持150MB/s速率传输,支持时钟数据单沿模式SDR、时钟数据双沿模式DDR,采用循环冗余校验CRC保证底层数据完整性。
以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述作出许多变化和改进,这些变化和改进应该属于本发明的保护范围。
Claims (7)
1.一种基于NAND FLASH接口的双通道ATA协议桥接装置,其特征在于,包括:
FLASH接口转LOCAL接口子模块(1),负责控制与外部FLASH主机控制器进行数据的读写,同时转换为LOCAL总线进行传输;
BCH纠错码子模块(2),用于进行数据的纠错与编码;
ATA接口子模块(3),负责控制与外部硬盘进行数据的读写;
所述FLASH接口转LOCAL接口子模块(1)与外部FLASH主机控制器之间、FLASH接口转LOCAL接口子模块(1)与BCH纠错码子模块(2)之间、BCH纠错码子模块(2)与ATA接口子模块(3)之间,以及ATA接口子模块(3)与外部硬盘之间均为双向通信连接;FLASH接口转LOCAL接口子模块(1)与外部FLASH主机控制器相连接的一端为FLASH接口端,FLASH接口转LOCAL接口子模块(1)与BCH纠错码子模块(2)相连接的一端为LOCAL接口端,所述FLASH接口转LOCAL接口子模块(1)的FLASH接口端数量根据硬盘接口的不同而不同:
当采用PATA硬盘接口时,则使用单通道FLASH接口;
当采用SATA硬盘接口时,则使用双通道FLASH接口。
2.根据权利要求1所述的桥接装置,其特征在于,所述FLASH接口转LOCAL接口子模块(1)包括:
接口模块NAND_IF(101),负责完成将收发的命令和数据按照FLASH接口时序信息操作,采用双通道结构同时完成两个FLASH通道的命令和数据交互;
数据通路控制模块DATA_PATH(102),当NAND_IF(101)采用双通道结构进行数据读写时,DATA_PATH(102)负责对双通道的数据进行排序与缓存,完成DATA_PATH(102)两端数据流速度匹配;
逻辑通路控制模块CTRL_FLW(103),负责接收、解析主机控制器端发送的指令,将读写控制信号传递到DATA_PATH模块(102),同时根据解析出的命令码产生相应的回复状态返回给主机控制器端;
初始化控制模块INIT_CTRL(104),负责完成FLASH接口转LOCAL接口子模块(1)两端的初始化命令交互,完成从主机控制器端FLASH接口数据传输模式、ATA传输模式、ECC是否使能、读写数据是否开启去反功能、读写数据是否开启加解扰功能和加解扰种子参数配置;
所述DATA_PATH(102)依次通过读数据缓存器模块RDFIFO(105)、读数据取反模块Rdata_inv(106)和解扰模块Descrambler(107)读取NAND_IF(101)的数据,所述DATA_PATH(102)依次通过加扰模块Scrambler(108)、写数据取反模块Wdata_inv(109)和写数据缓存模块WRFIFO(110)将数据写入NAND_IF(101)。
3.根据权利要求1所述的桥接装置,其特征在于,所述BCH纠错码子模块(2)包括:运算模块BCH_OPR(201)、数据控制模块BCH_CTRL(202)、LOCAL端写数据缓存模块WR_FIFO(203)、LOCAL端读数据缓存模块RD_FIFO(204)、ATA端写数据缓存模块ATA_WR_FIFO(205)以及ATA端读数据缓存模块ATA_RD_FIFO(206);
当数据从FLASH端写入到ATA端时,数据首先进入WR_FIFO(203)中,然后通过多路选择器选择直接进入ATA_WR_FIFO(205)或经过BCH_OPR(201)后再进入ATA_WR_FIFO(205);
当数据从ATA端读出到FLASH端时,数据首先进入ATA_RD_FIFO(206)中,然后通过多路选择器选择直接进入RD_FIFO(204)或经过BCH_OPR(201)后再进入RD_FIFO(204)。
4.根据权利要求3所述的桥接装置,其特征在于,当数据从FLASH端写入到ATA端时,数据首先进入WR_FIFO(203)中,然后通过多路选择器,由写使能旁路使能信号w_bypass_en选择是否经过BCH_OPR(201)进行纠错:
若w_bypass_en信号为低电平0,则数据不经过BCH_OPR(201)纠错,直接进入ATA_WR_FIFO(205),等待ATA端数据传输;
若w_bypass_en信号为高电平1,则与数据相对应的BCH码值输入到BCH_OPR(201):若BCH错误校验多项式结果为0,则表明输入数据无错误,继续输出数据到ATA_WR_FIFO(205);若BCH错误校验多项式结果不为0,则表示数据在传输过程中出现了错误,进入纠错阶段,如果错误数据位在可纠错个数范围内,则置位bch错误发生标志位error_status_ok为1,纠错完成后,数据继续进入ATA_WR_FIFO(205),若错误数据位超过可纠错个数范围,则置位bch错误发生标志位error_status_fail为1,同时置位bch错误停止标志位error_stop停止向后的数据传输,等待CTRL_FLW(103)处理。
5.根据权利要求3所述的桥接装置,其特征在于,当数据从ATA端读出到FLASH端时,数据首先进入ATA_RD_FIFO(206)中,然后通过多路选择器,由读使能旁路使能信号r_bypass_en选择是否经过BCH_OPR(201)进行编码:
若r_bypass_en信号为低电平0,则数据不经过BCH_OPR(201)编码,直接进入到RD_FIFO(204),等待FLASH端数据传输;
若r_bypass_en信号为高电平1,则数据进入BCH_OPR(201),同时根据输入数据计算出BCH码值,将数据以及BCH码值继续输出数据到RD_FIFO(204)。
6.根据权利要求1所述的桥接装置,其特征在于,所述ATA接口子模块(3)包括:SATA协议控制模块SATA_CTRL(301)、PATA协议控制模块PATA_CTRL(302)、串行ATA接口电路模块SATA_PHY(303)和并行ATA接口电路模块PATA_PHY(304);所述SATA_CTRL(301)和PATA_CTRL(302)通过多路选择器与BCH纠错码子模块(2)进行数据交互,SATA_PHY(303)的一端与SATA_CTRL(301)双向连接、另一端与外部硬盘SATA DEVICE双向连接,PATA_PHY(304)的一端与PATA_CTRL(302)双向连接、另一端与外部硬盘PATA DEVICE双向连接。
7.根据权利要求6所述的桥接装置,其特征在于,
所述SATA_PHY (303)完成串行ATA物理层接口时序操作,包含两条高速单工通道的低压差分信号收发器,分别负责接收和发送数据,支持150MB/s、300MB/s和600MB/s速率传输模式,采用8B/10B编码方式,保证底层数据完整性;
所述PATA_PHY(304)完成并行ATA物理层接口时序操作,最高支持150MB/s速率传输,支持时钟数据单沿模式SDR、时钟数据双沿模式DDR,采用循环冗余校验CRC保证底层数据完整性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610148923.0A CN105786749B (zh) | 2016-03-16 | 2016-03-16 | 一种基于nand flash接口的双通道ata协议桥接装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610148923.0A CN105786749B (zh) | 2016-03-16 | 2016-03-16 | 一种基于nand flash接口的双通道ata协议桥接装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105786749A CN105786749A (zh) | 2016-07-20 |
CN105786749B true CN105786749B (zh) | 2018-08-07 |
Family
ID=56393736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610148923.0A Active CN105786749B (zh) | 2016-03-16 | 2016-03-16 | 一种基于nand flash接口的双通道ata协议桥接装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105786749B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383790A (zh) * | 2016-08-26 | 2017-02-08 | 北京智芯微电子科技有限公司 | 一种总线管理单元及高安全系统级芯片 |
CN106776391A (zh) * | 2016-12-13 | 2017-05-31 | 成都信息工程大学 | 一种NAND Flash控制器的控制方法和装置 |
CN108255633B (zh) * | 2016-12-28 | 2021-07-30 | 旺宏电子股份有限公司 | 存储控制方法、存储装置 |
US10848263B2 (en) | 2017-06-30 | 2020-11-24 | Silicon Motion, Inc. | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same |
TWI645298B (zh) | 2017-06-30 | 2018-12-21 | 慧榮科技股份有限公司 | 降低快閃儲存介面中傳收資料錯誤方法以及使用該方法的裝置 |
US10637509B2 (en) | 2017-06-30 | 2020-04-28 | Silicon Motion, Inc. | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same |
US10630424B2 (en) | 2017-06-30 | 2020-04-21 | Silicon Motion, Inc. | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same |
CN109213436B (zh) * | 2017-06-30 | 2021-08-24 | 慧荣科技股份有限公司 | 降低快闪储存介面中传收数据错误方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105970A (zh) * | 2006-07-12 | 2008-01-16 | 北京赫芯斯信息技术有限公司 | Ata接口的ddr固态盘 |
CN101800560A (zh) * | 2010-03-17 | 2010-08-11 | 苏州国芯科技有限公司 | Flash控制器中BCH编译码的纠错能力扩展方法 |
CN105335326A (zh) * | 2015-10-10 | 2016-02-17 | 广州慧睿思通信息科技有限公司 | 一种基于fpga的pcie转sata接口阵列的装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424953B2 (en) * | 2013-06-20 | 2016-08-23 | Samsung Electronics Co., Ltd. | Semiconductor memory device including repair circuit |
-
2016
- 2016-03-16 CN CN201610148923.0A patent/CN105786749B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105970A (zh) * | 2006-07-12 | 2008-01-16 | 北京赫芯斯信息技术有限公司 | Ata接口的ddr固态盘 |
CN101800560A (zh) * | 2010-03-17 | 2010-08-11 | 苏州国芯科技有限公司 | Flash控制器中BCH编译码的纠错能力扩展方法 |
CN105335326A (zh) * | 2015-10-10 | 2016-02-17 | 广州慧睿思通信息科技有限公司 | 一种基于fpga的pcie转sata接口阵列的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105786749A (zh) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786749B (zh) | 一种基于nand flash接口的双通道ata协议桥接装置 | |
US8990462B2 (en) | Storage device, computing system including the same and data transferring method thereof | |
CN105335326A (zh) | 一种基于fpga的pcie转sata接口阵列的装置 | |
US8201069B2 (en) | Cyclical redundancy code for use in a high-speed serial link | |
KR102076231B1 (ko) | 데이터 저장 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 | |
KR101251100B1 (ko) | 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도 | |
CN101325090B (zh) | 通过使循环冗余码线路相对于数据线路偏移改善等待时间 | |
CN101527171B (zh) | 一种多通道并行纠错的闪存控制方法和装置 | |
CN107918571B (zh) | 测试储存单元的方法以及使用该方法的装置 | |
KR102638790B1 (ko) | 반도체장치 및 반도체시스템 | |
CN101354906B (zh) | 应用于固态硬盘的闪存控制器 | |
US9998151B2 (en) | Data storage device and operating method thereof | |
US20160253239A1 (en) | Data storage device and operating method thereof | |
TWI497515B (zh) | 快閃記憶體控制器、快閃記憶體偵錯方法 | |
WO2013033121A1 (en) | Simultaneous data transfer and error control to reduce latency and improve throughput to a host | |
US20150019904A1 (en) | Data processing system and operating method thereof | |
US11651799B2 (en) | Method of generating a multi-level signal using a selective level change, a method of transmitting data using the same, and a transmitter and memory system performing the same | |
US11829633B2 (en) | Memory system, method of operating the same and storage device using the same | |
US20220059156A1 (en) | Method of generating a multi-level signal using selective equalization, method of transmitting data using the same, and transmitter and memory system performing the same | |
CN102467975A (zh) | 数据错误检查方法、数据传输方法和半导体存储装置 | |
CN102591812A (zh) | 计算机系统的操作方法 | |
CN109840161A (zh) | 刷洗错误的方法和使用该方法的半导体模块 | |
CN113742282A (zh) | 一种基于fpga的sata ip核及数据存储方法 | |
US20110004817A1 (en) | Crc management method performed in sata interface and data storage device using crc management method | |
JP2007102653A (ja) | データ記憶装置の機能試験方法及び機能試験装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |