CN1598965A - 一种能够快速读写闪存的方法及其专用处理器 - Google Patents

一种能够快速读写闪存的方法及其专用处理器 Download PDF

Info

Publication number
CN1598965A
CN1598965A CN 200410070545 CN200410070545A CN1598965A CN 1598965 A CN1598965 A CN 1598965A CN 200410070545 CN200410070545 CN 200410070545 CN 200410070545 A CN200410070545 A CN 200410070545A CN 1598965 A CN1598965 A CN 1598965A
Authority
CN
China
Prior art keywords
flash memory
reg
flash
writing
application specific
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.)
Pending
Application number
CN 200410070545
Other languages
English (en)
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.)
CHIPSBANK TECHNOLOGY (SHENZHEN) Co Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN 200410070545 priority Critical patent/CN1598965A/zh
Publication of CN1598965A publication Critical patent/CN1598965A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)

Abstract

本发明涉及一种能够快速读写闪存的方法及其专用处理器,该方法及其专用处理器能够利用其本身具有的专有指令,该方法和专用处理器采用专有指令,直接完成对闪存的读写操作,可提高闪存盘的读写速度。

Description

一种能够快速读写闪存的方法及其专用处理器
技术领域
本发明涉及数据存储设备,准确地说是一种能够快速读写闪存的方法及其专用处理器,该方法及其专用处理器能够利用其本身具有的专有指令,迅速完成对闪存的操作,提高闪存盘的读写速度。
背景技术
闪速存储器(Flash Memory)简称闪存,是一类非易失性存储器NVM(Non-Volatile Memory),即在供电电源关闭后仍能保持片内信息,它具有读写速度快、成本低、容量大的特点,被广泛用于各种领域。当闪存与通用串行总线USB(Universal Serial Bus)接口和闪存控制芯片结合,做成即插即用(Plug and Play)的存储盘后,其携带方便、存储容量大、速度快、寿命长等优点,深受用户的欢迎,这就是市场上所称的U盘或者叫做闪存盘(Flash Disk)。
闪存盘中有两个最主要的芯片:闪存控制芯片和闪存芯片,闪存芯片对于闪存盘非常重要,但其重要性也仅仅相当于电脑的硬盘,起到存储数据的作用,闪存盘最核心的是控制芯片。闪存控制芯片对闪存的操作起着管理的作用,它对闪存盘的各项性能指标起着决定性的作用。
闪存控制芯片可以采用通用芯片或专用芯片。当采用通用通用芯片时,其处理器为通用处理器,由于其指令为通用指令,对闪存读写操作需要多条指令才能完成;而采用专用芯片时,其处理器为专用处理器,由于专用处理器的专有指令是专门针对闪存的操作而设计的,完成对闪存读写操作只需要区区几条指令即可完成,大大地提高了闪存盘的读写速度。
发明内容
基于此,本发明的目的是提供一种能够实现快速读写闪存的方法及其专用处理器,该专用处理器采用专有指令,直接完成对闪存的读写操作。
本发明的另一个目的是提供一种能够快速读写闪存的32位专用处理器,该处理器是针对USB和闪存的特点而设计的,主要完成两大功能:一是根据USB2.0协议的要求,对数据包进行处理与响应;二是负责逻辑地址与物理地址的转换,以及对闪存数据进行管理和操作。
为此,本发明是这样实现的:
一种能够快速读写闪存的方法,其特征在于闪存处理器读写数据时其专有指令直接完成通用指令需要多条指令才能完成的操作。
这些专有指令是在硬件设计时,考虑到闪存读写等操作的特殊性,专门为完成这些操作设计的,因而执行这些专有指令时迅速、简练、直接。
所述的能够快速读写闪存的方法,其所读写的闪存片为偶数个时,米用双通道技术,即将闪存片分成两组,同时对两组闪存片进行操作。
一种能够快速读写的闪存专用处理器,其包括有:
通用寄存器,用于一般进行逻辑运算和循环计数;
专用寄存器,亦即特殊功能寄存器;
只读存储器,用于存储固定程序和表格常数;
随机存储器,用于暂时存储中间运算结果、数据暂存和缓冲等。
所述的能够快速读写的闪存专用处理器,其专用寄存器包括flash_ctrl,config_r,dev_id,counter_i,counter_j,counter0,tbl_base[11:0],tbl_offset[12:0]。
所述的能够快速读写的闪存专用处理器,其通用寄存器包括reg_r0,reg_r1,reg_r2,reg_r3,其中reg_r0[15:0]也在指令DJNZ中用作循环计数器,reg_a也为算术逻辑运算器。
所述的随机存储器(RAM)是静态随机存储器(SRAM)。
所述的能够快速读写的闪存专用处理器,支持USB2.0协议并向下兼容USB1.x协议。
本发明采用专有指令,通过专有指令快速读写闪存片的数据,使得闪存数据的读写过程减少了很多中间环节,简化了算法和编程步骤,大大提高了运算效率。经过实际测试,采用本发明的方法和专有处理器做成的U盘,其读写速度要比现有U盘的读写速度高5-20倍。
还有,相对于通用处理器,采用专用处理器,不必考虑其通用性,只要可以满足闪存操作的特殊要求即可,可大大减少芯片面积,从而可缩小闪存盘的体积、降低闪存盘的成本。
附图说明
图1为本发明实施的结构示意图,
图2为本发明闪存片的分组示意图,
图3为本发明的专有指令(LOADFCS)片选专有指令的逻辑流程图,
图4为本发明的专有指令(FADR)向闪存写入闪存读/写地址专有指令的逻辑流程图,
图5为本发明的专有指令(FDMARD)采用直接存储器访问(DirectMemory Access)方法读取闪存中数据的流程图。
具体实施方式
参照附图,本发明的实施为:
原理框图如图1所示,主机通过USB2.0物理层接口模块实现与控制芯片内数据包的转换,USB2.0功能模块负责数据包的传输,由处理器对数据包行进行处理与响应,并对闪存数据进行读取/存储和管理,而纠错码模块则对闪存存储器的数据进行纠错编码。本专用处理器是基于USB2.0协议的专门用于闪存盘控制芯片的专用处理器,有以下寄存器和存储器:
32位通用寄存器:reg_r0,reg_r1,reg_r2,reg_r3,其中reg_r0[15:0]也在指令DJNZ中用作循环计数器,reg_a为算术逻辑运算器;
32位专用寄存器:flash_ctrl,config_r,dev_id,counter_i,counter_j,counter0;
其它专用寄存器:tbl_base[11:0],tbl_offset[12:0];
ROM:只读存储器;
SRAM:静态存储器;
其中,reg_x、reg_y表示reg_a,、reg_0、reg_1、reg_r2、reg_r3中的其中一个。
闪存片组可由多片闪存片组成,实际应用时将闪存片分成两组成为第0组和第1组,如图2所示:
当闪存片为偶数个时,可采用双通道(Dual Channel)技术,即:同时对两组闪存片组进行读写操作,可以使闪存盘的读写速度提高近一倍。
在对闪存片进行读写操作前,必须先选择将要对其操作的闪存片并使其处于可操作(Enable)状态,对于双通道就要同时选择两块闪存片。
下面三个例子将通用指令与专用指令进行对比,图中虚线内的部分通用指令与虚线右边专用指令完成同样的操作。
图3所示,指令:LOADFCS flash_ctrl,reg_x就是为片选而定义的专有指令,当执行该命令时,硬件会自动检查flash_ctrl中的双通道标志位,判断是否为双通道,如果是则选择闪存片编号(Chip No)为flash_ctrl[3:0]×2-1和flash_ctrl[3:0]×2的两个芯片。如果是单通道,则选择闪存片编号为flash_ctrl[3:0]的芯片。
从图中的对比可以看出,采用该指令只需先赋值给reg_x的低位,再执行片选指令即可,仅需要执行2条指令。如采用一般通用指令,由于要保留flash_ctrl其它位的值,所以只能对flash_ctrl[3:0]的每一位进行清零或赋值(Clear or Set),至少要执行6条指令,还包括一条判断指令。
图4所示,指令FADR reg_x,reg_y将reg_x中的内容写入闪存输入/输出口,每次写入8位(8bits),即1字节(1byte),直到所要求的数据写完。其中,寄存器reg_x[31:0]中的内容是准备写入闪存的内容,寄存器reg_y[2:0]中的内容是按每次写入闪存1byte的内容(闪存的I/O是8bit)全部写完reg_x[31:0]中要求写入闪存的内容所需的写入次数(例如:3 bytes的内容须写3次)。硬件根据闪存组号(GroupNo)自动判断是向第0组(Group 0)还是第1组(Group 1)闪存写入该地址内容。
从图中的对比可以看出,执行1条该指令完成的操作,如采用一般通用指令,则需要执行reg_y[2:0]次循环,每个循环4条指令(包括两条判断指令)才能完成。假如reg_y[2:0]=3,就需要执行12条指令才能完成此操作。
图5所示,指令FDMARD @reg_r0采用直接存储器访问(DMA)方法循环将闪存输入/输出口(Flash I/O)的数据写入SRAM中,reg_r0[31:16]为SRAM的地址,reg_r0[15:0]为循环的计数器,硬件自动根据flash_ctrl中的闪存片组标志位来判断向哪组闪存片组读取数据。
从图中的对比可以看出,执行一条该指令完成的操作,如采用一般通用指令,则需要执行reg_r0[15:0]次循环,每个循环4条指令(包括两条判断指令)才能完成。reg_r0[15:0]最大可以等于512,此时,就需要执行2048条指令才能完成此操作。

Claims (9)

1、一种能够快速读写闪存的方法,其特征在于闪存处理器读写数据时其专有指令直接完成通用指令需要多条指令才能完成的操作。
2、根据权利要求1所述的能够快速读写闪存的方法,其特征在于该方法将所读写的闪存片分为两组,当闪存片为偶数个时,采用双通道技术,即可同时对两组闪存片进行操作。
3、根据权利要求2所述的能够快速读写闪存的方法,其特征在于当采用双通道技术时,先将片选参数赋值给任一个通用寄存器的低16位,再执行片选专有指令LOADFCS,即可同时对两组闪存片进行选择。
4、根据权利要求1所述的能够快速读写闪存的方法,其特征在于所述专有指令FDMARD采用直接存储器访问(DMA)方法循环将闪存片中所需读出的数据从闪存输入/输出口(Flash I/O)读出,然后写入SRAM中。
5、一种能够快速读写的闪存专用处理器,其特征在于该闪存专用处理器包括有:
通用寄存器,用于一般进行逻辑运算和循环计数;
专用寄存器,亦即特殊功能寄存器;
只读存储器,用于存储固定程序和表格常数;
随机存储器,用于暂时存储中间运算结果、数据暂存和缓冲等。
6、根据权利要求5所述的能够快速读写的闪存专用处理器,其特征在于该专用寄存器包括flash_ctrl,config_r,dev_id,counter_i,counter_j,counter0,tbl_base[11:0],tbl_offset[12:0]。
7、根据权利要求5所述的能够快速读写的闪存专用处理器,其特征在于其通用寄存器包括reg_r0,reg_r1,reg_r2,reg_r3,其中reg_r0[15:0]也在指令DJNZ中用作循环计数器,reg_a也为算术逻辑运算器。
8、根据权利要求5所述的能够快速读写的闪存专用处理器,其特征在于所述的随机存储器(RAM)是静态随机存储器(SRAM)。
9、根据权利要求5所述的能够快速读写的闪存专用处理器,其特征在于该闪存专用处理器支持USB2.0协议并向下兼容USB1.x协议。
CN 200410070545 2004-08-09 2004-08-09 一种能够快速读写闪存的方法及其专用处理器 Pending CN1598965A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410070545 CN1598965A (zh) 2004-08-09 2004-08-09 一种能够快速读写闪存的方法及其专用处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410070545 CN1598965A (zh) 2004-08-09 2004-08-09 一种能够快速读写闪存的方法及其专用处理器

Publications (1)

Publication Number Publication Date
CN1598965A true CN1598965A (zh) 2005-03-23

Family

ID=34666801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410070545 Pending CN1598965A (zh) 2004-08-09 2004-08-09 一种能够快速读写闪存的方法及其专用处理器

Country Status (1)

Country Link
CN (1) CN1598965A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943540A (zh) * 2017-11-18 2018-04-20 上海华虹集成电路有限责任公司 一种自适应非易失性存储器时序的程序加载结构和方法
WO2020024383A1 (zh) * 2018-07-31 2020-02-06 江苏华存电子科技有限公司 闪存存储装置及其弹性化控制多类型闪存的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943540A (zh) * 2017-11-18 2018-04-20 上海华虹集成电路有限责任公司 一种自适应非易失性存储器时序的程序加载结构和方法
CN107943540B (zh) * 2017-11-18 2021-04-13 上海华虹集成电路有限责任公司 一种自适应非易失性存储器时序的程序加载结构和方法
WO2020024383A1 (zh) * 2018-07-31 2020-02-06 江苏华存电子科技有限公司 闪存存储装置及其弹性化控制多类型闪存的方法

Similar Documents

Publication Publication Date Title
US8762654B1 (en) Selectively scheduling memory accesses in parallel based on access speeds of memory
CN102187398B (zh) 固态存储装置中的热存储器块表
JP2023055992A (ja) メモリ機器のための拡張利用範囲
CN101676886B (zh) 闪存装置及其运作方法
US20100011153A1 (en) Block management method, and storage system and controller using the same
US10585587B2 (en) Memory control circuitry, memory system and processor system
US8493782B2 (en) Memory device and program method thereof
CN101169760B (zh) 电子硬盘的存储空间的管理方法
CN1497462A (zh) 利用快闪存储器引导的系统和方法
CN111158579B (zh) 固态硬盘及其数据存取的方法
US10871919B2 (en) Memory system and wear-leveling method using the same
CN1869915A (zh) 提供读取操作硬件加速的存储卡
US20120079170A1 (en) Method for performing block management, and associated memory device and controller thereof
WO2013101739A1 (en) System and method for pre-interleaving sequential data
KR20090006920A (ko) 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법
US20090204748A1 (en) Multi-channel flash memory system and access method
TWI479315B (zh) 記憶體儲存裝置、其記憶體控制器與資料寫入方法
KR20090008766A (ko) 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법
TWI437569B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
CN1674160A (zh) 逻辑与非快闪存储器芯片存取方法及与非快闪存储器芯片
US20170017578A1 (en) Generation of random address mapping in non-volatile memories using local and global interleaving
CN113396399A (zh) 具有带单根虚拟化的多个端口的存储器子系统
US8856425B2 (en) Method for performing meta block management, and associated memory device and controller thereof
CN1598965A (zh) 一种能够快速读写闪存的方法及其专用处理器
CN1845087A (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
ASS Succession or assignment of patent right

Owner name: XINBANG SCIENCE ( SHENZHEN ) CO., LTD.

Free format text: FORMER OWNER: ZHANG HUALONG

Effective date: 20050812

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20050812

Address after: 518000, Shenzhen, Guangdong province Nanshan District high tech Zone, South District, Fangda building, room 309-015 on the third floor

Applicant after: Chipsbank Technology (Shenzhen) Co., Ltd.

Address before: 518000, No. 1401, Fangda building, South twelve Road, South tech Zone, Shenzhen hi tech Zone, Guangdong

Applicant before: Zhang Hualong

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication