CN105786749B - 一种基于nand flash接口的双通道ata协议桥接装置 - Google Patents

一种基于nand flash接口的双通道ata协议桥接装置 Download PDF

Info

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
Application number
CN201610148923.0A
Other languages
English (en)
Other versions
CN105786749A (zh
Inventor
刘奇浩
孙晓宁
刘大铕
徐毅松
李文军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN201610148923.0A priority Critical patent/CN105786749B/zh
Publication of CN105786749A publication Critical patent/CN105786749A/zh
Application granted granted Critical
Publication of CN105786749B publication Critical patent/CN105786749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0032Serial ATA [SATA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3852Converter 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接口的双通道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保证底层数据完整性。
CN201610148923.0A 2016-03-16 2016-03-16 一种基于nand flash接口的双通道ata协议桥接装置 Active CN105786749B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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