CN104143352B - 一种优盘及其工作方法 - Google Patents
一种优盘及其工作方法 Download PDFInfo
- Publication number
- CN104143352B CN104143352B CN201410359820.XA CN201410359820A CN104143352B CN 104143352 B CN104143352 B CN 104143352B CN 201410359820 A CN201410359820 A CN 201410359820A CN 104143352 B CN104143352 B CN 104143352B
- Authority
- CN
- China
- Prior art keywords
- ferroelectric memory
- block
- speed controller
- nand flash
- address
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种优盘及其工作方法涉及计算机数据存储技术领域,该卡包括优盘外壳、USB接口、高速控制器、铁电存储器和NAND FLASH,USB接口、高速控制器、铁电存储器和NAND FLASH均位于优盘外壳内部;USB接口通过高速内部数据总线和高速控制器联接,USB接口对外部提供符合USB2.0接口电气规范的数据接口;高速控制器通过地址/数据总线分别与铁电存储器、NAND FLASH联接,高速控制器负责所有数据的运算和接口逻辑;铁电存储器提供计数器功能和频繁写入块替换功能,NAND FLASH为优盘的实际存储介质。本发明采用铁电存储器保证不会出现某些块被反复频繁写入的现象,进而延长优盘的使用寿命。
Description
技术领域
本发明涉及计算机数据存储技术领域,具体涉及一种优盘及其工作方法。
背景技术
传统上,优盘被用来存储各种数据,当用户用优盘存储数据库类的数据时,每当在数据库建立或者删除一条记录时,有可能是修改该数据库文件的属性,如文件大小、最后访问时间等。这种属性信息往往被操作系统存储于优盘的某块区域。当数据写入比较频繁时,写入次数可能会超过优盘的存储介质NAND FLASH某块中某页(PAGE)的最大写入次数,即超过芯片设计寿命次数限制,从而导致NAND FLASH某块中某页(PAGE)的损坏,进而导致整个数据文件的失效。类似频繁改写属性的文件还包括:日志文件、磁盘缓存文件等。
发明内容
本发明的目的是提供一种优盘及其工作方法,在每次优盘插入上电时,通过统计铁电存储器的块写入计数器表,准确计算出优盘中写入次数最多的5个块区域,通过铁电存储器中备份块区的5个备份块替换,保证这些最老的存储块在本次运行中不会再次被反复写入。由于用户每次使用优盘写入情况不同,故此每次优盘上电,都将重新遍历一遍块写入计数器表,保证备份块给最急需的最老数据块使用。
为了实现上述目的,本发明采取的技术方案如下:
一种优盘,包括优盘外壳、USB接口、高速控制器、铁电存储器和NAND FLASH,所述USB接口、高速控制器、铁电存储器和NAND FLASH均位于优盘外壳内部;USB接口通过高速内部数据总线和高速控制器联接,USB接口对外部提供符合USB2.0接口电气规范的数据接口;高速控制器通过地址/数据总线分别与铁电存储器、NAND FLASH联接,高速控制器负责所有数据的运算和接口逻辑;铁电存储器提供计数器功能和频繁写入块替换功能,NAND FLASH为优盘的实际存储介质。
上述铁电存储器为带并行数据/地址总线的铁电存储器,其包含块写入计数器表和备份块区两个区域,块写入计数器表占用2*N个字节,每两个字节代表一个16位计数器值的计数单元,该计数单元的值依次代表N个NAND FLASH线性块的每块的写入次数,其中,N为正整数。
上述高速控制器为高速MCU,所述NAND FLASH由大容量与非阵列型FLASH芯片组成,其包含N个存储块,每个存储块占用M个字节,其中,M和N均为正整数,M*N值等于或者小于NAND FLASH实际容量大小,M的值为NAND FLASH最小页PAGE字节大小的整数倍。
上述优盘的工作方法,包括如下步骤:
步骤一、优盘上电,高速控制器开始内部初始化,倍频高速控制器时钟为48MHz,初始化内部高速RAM,初始化USB从设备接口,高速控制器配置铁电存储器的高速地址/数据总线和NAND FLASH的高速地址/数据总线;
步骤二、遍历铁电存储器的块写入计数器表,查找出写入次数最多的五个块,并直接记录对应NAND FLASH的实际物理起始地址;
步骤三、把NAND FLASH中五个需要替换块的最老存储块拷贝到铁电存储器备份块区的五个对应备份块中,拷贝前,先把上次运行后铁电存储器的五个备份块中的数据恢复到铁电存储器地址区指向的原始NAND FLASH存储块中;
步骤四、高速控制器重新映射优盘虚拟地址空间,逻辑上把NAND FLASH的五个块映射地址依次替换为铁电存储器备份块区的五个对应备份块的物理地址;
步骤五、高速控制器通过USB接口联通外部主控设备,接受并执行外部主控设备通过USB接口发送的令牌指令;
步骤六、高速控制器解析并运行USB接口指令的同时,若遇到对任何块的写入指令,则立刻查找铁电存储器的块写入计数器表中对应的计数单元,并修改对应计数单元中的值,使计数单元中的值加1,如果该计数单元的16位值超过(65535)0XFFFF,则该值不做修改。
当外部设备试图访问优盘的物理地址时,实际是访问高速控制器模拟的虚拟地址,真正存储数据的物理地址位于铁电存储器和NAND FLASH的物理存储空间中。NANDFLASH划分成N个存储块,每个块占用M字节空间。对NAND FLASH所有块的写入次数都会通过高速控制器存储于铁电存储器的块写入计数器表中。每次优盘上电时,高速控制器将根据优盘内部铁电存储器的块写入计数器表统计出NAND FLASH写入次数最多的5个块,并把这5个块中的数据和地址写入优盘内部铁电存储器的备份块区的5个备份块中。当外部设备再次访问高速控制器提供的虚拟地址空间时,并试图读写这5个写入次数最多的块时,将会被高速控制器重新定向访问到铁电存储器的5个备份块,以避免NAND FLASH某个存储块被长期频繁写入,导致NAND FLASH某块中某页(PAGE)的损坏。
本发明采用铁电存储器的备份块替换NAND FLASH中写入次数最多的块,保证不会出现某些块被反复频繁写入的现象,进而延长优盘的使用寿命。
附图说明
图1是本发明中NAND FLASH内部划分框图。
图2是本发明中铁电存储器内部划分框图。
图3是本发明中铁电存储器和NAND FLASH的对应关系示意图。
图4是本发明中优盘内部地址映射关系图。
图5是本发明优盘的硬件结构示意图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
如图1至图4所示,本发明的优盘包含:优盘外壳、USB接口、高速控制器、铁电存储器和NAND FLASH。优盘外壳由普通塑料材料组成,高速控制器由高速MCU组成,铁电存储器由带并行数据/地址总线的铁电存储器组成;NAND FLASH由大容量与非阵列型FLASH芯片组成,NAND FLASH包含N个存储块,每个存储块占用M个字节,其中M*N值等于或者小于NANDFLASH实际容量大小,M的值为NAND FLASH最小页PAGE大小(字节)的整数倍。
铁电存储器包含两个区域:一个是块写入计数器表,一个是备份块区。块写入计数器表占用2*N个字节,每两个字节代表一个16位计数器值的计数单元,该计数单元值依次代表N个NAND FLASH线性块的每块的写入次数。例如,在NAND FLASH第800个块的写入次数是6000次,那么在铁电存储器的0X00000263E((800-1)*2)的地址单元上存储的数据应该是0X1770(6000)。块写入计数器表的计数单元的所有寄存器值默认情况是0X0000,每次写入对应NAND FLASH块,该值都会自增1,当该值大于65535(0XFFFF)时,则该值不会增加。
实施例:
优盘外壳采用深圳HMW型号:HMW1863;高速控制器采用CYPRESS型号:CY7C68013A;铁电存储器采用RAMTRON型号:FM22L16;NAND FLASH采用SUMSUNG型号:K9F1208D0A。
在该实例中,NAND FLASH容量是64MB(共67108864字节),其中每个存储块定义大小4096字节(即M值是4096),共16384个存储块(即N值是16384)。
在该实例中,铁电存储器的容量是512KB(共524288字节)。其中,块写入计数器表占用(32768字节=N*2),起始地址从0X0000 0000到0X0000 8000;备份块区占用(20500字节=(4+M)*5),起始地址从0X0000 8001到0X0000 D014;备份块1占用(4100字节=(4+M)),起始地址从0X0000 8001到0X0000 9004;备份块2占用(4100字节=(4+M)),起始地址从0X0000 9005到0X0000 A008;备份块3占用(4100字节=(4+M)),起始地址从0X0000 A009到0X0000 B00C;备份块4占用(4100字节=(4+M)),起始地址从0X0000 B00D到0X0000 C010;备份块5占用(4100字节=(4+M)),起始地址从0X0000 C011到0X0000 C014。
模拟运行:
假设第一次优盘上电后,系统对NAND FLASH的第101块进行了1000次整块写入操作(写入内容全是0X11),第202块进行2000次整块写入操作(写入内容全是0X22),第303块进行了3000次整块写入操作(写入内容全是0X33),第404块进行了4000次整块写入操作(写入内容全是0X44),505块进行了5000次整块写入操作(写入内容全是0X55),其他块的写入次数都小于1000次。那么铁电存储器的块写入计数器表序号为101的计数单元中的值为(0X03E8),铁电存储器的块写入计数器表序号为202的计数单元中的值为(0X07D0),铁电存储器的块写入计数器表序号为303的计数单元中的值为(0X0BB8),铁电存储器的块写入计数器表序号为404的计数单元中的值为(0X0FA0),铁电存储器的块写入计数器表序号为505的计数单元中的值为(0X1388)。
第二次上电后,会产生如下动作:
NAND FLASH第101块物理地址拷贝到铁电存储器备份块1的地址区中(拷贝后该地址区的数据是0X00065000=101*M),NAND FLASH第101块的数据拷贝到铁电存储器备份块1的数据区中(拷贝后该数据区的数据是0X11,0X11…0X11)。
NAND FLASH第202块物理地址拷贝到铁电存储器备份块2的地址区中(拷贝后该地址区的数据是0X000CA000=202*M),NAND FLASH第202块的数据拷贝到铁电存储器备份块2的数据区中(拷贝后该数据区的数据是0X22,0X22…0X22)。
NAND FLASH第303块物理地址拷贝到铁电存储器备份块3的地址区中(拷贝后该地址区的数据是0X0012F000=303*M),NAND FLASH第303块的数据拷贝到铁电存储器备份块3的数据区中(拷贝后该数据区的数据是0X33,0X33…0X33)。
NAND FLASH第404块物理地址拷贝到铁电存储器备份块4的地址区中(拷贝后该地址区的数据是0X00194000=404*M),NAND FLASH第404块的数据拷贝到铁电存储器备份块4的数据区中(拷贝后该数据区的数据是0X44,0X44…0X44)。
NAND FLASH第505块物理地址拷贝到铁电存储器备份块5的地址区中(拷贝后该地址区的数据是0X001F9000=505*M),NAND FLASH第505块的数据拷贝到铁电存储器备份块5的数据区中(拷贝后该数据区的数据是0X55,0X55…0X55)。
当系统再次试图通过USB接口读写NAND FLASH这五个地址区时,(0X00065000~0X00065000+M;0X000CA000~0X000CA000+M;0X0012F000~0X0012F000+M;0X00194000~0X00194000+M;0X001F9000~0X001F9000+M),将会被重定向读写铁电存储器的5个对应备份块。
Claims (1)
1.一种优盘的工作方法,其特征在于,该方法包括如下步骤:
步骤一、优盘上电,高速控制器开始内部初始化,倍频高速控制器时钟为48MHz,初始化内部高速RAM,初始化USB接口,高速控制器配置铁电存储器的高速地址/数据总线和NANDFLASH的高速地址/数据总线;
步骤二、遍历铁电存储器的块写入计数器表,查找出写入次数最多的五个块,并直接记录对应NAND FLASH的实际物理起始地址;
步骤三、把NAND FLASH中五个需要替换块的最老存储块拷贝到铁电存储器备份块区的五个对应备份块中,拷贝前,先把上次运行后铁电存储器的五个备份块中的数据恢复到铁电存储器地址区指向的原始NAND FLASH存储块中;
步骤四、高速控制器重新映射优盘虚拟地址空间,逻辑上把NAND FLASH的五个块映射地址依次替换为铁电存储器备份块区的五个对应备份块的物理地址;
步骤五、高速控制器通过USB接口联通外部主控设备,接受并执行外部主控设备通过USB接口发送的令牌指令;
步骤六、高速控制器解析并运行USB接口指令的同时,若遇到对任何块的写入指令,则立刻查找铁电存储器的块写入计数器表中对应的计数单元,并修改对应计数单元中的值,使计数单元中的值加1,如果该计数单元的16位值超过0XFFFF,则该值不做修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410359820.XA CN104143352B (zh) | 2014-07-25 | 2014-07-25 | 一种优盘及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410359820.XA CN104143352B (zh) | 2014-07-25 | 2014-07-25 | 一种优盘及其工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104143352A CN104143352A (zh) | 2014-11-12 |
CN104143352B true CN104143352B (zh) | 2017-03-01 |
Family
ID=51852508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410359820.XA Active CN104143352B (zh) | 2014-07-25 | 2014-07-25 | 一种优盘及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104143352B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102399490B1 (ko) * | 2017-06-20 | 2022-05-19 | 에스케이하이닉스 주식회사 | 다양한 동작 모드를 수행하는 반도체 메모리 장치, 이를 포함하는 메모리 모듈 및 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588554A (zh) * | 2004-08-26 | 2005-03-02 | 复旦大学 | 一种usb大容量存储装置 |
CN201853222U (zh) * | 2010-08-16 | 2011-06-01 | 鲁海军 | 多功能数据备份器 |
-
2014
- 2014-07-25 CN CN201410359820.XA patent/CN104143352B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588554A (zh) * | 2004-08-26 | 2005-03-02 | 复旦大学 | 一种usb大容量存储装置 |
CN201853222U (zh) * | 2010-08-16 | 2011-06-01 | 鲁海军 | 多功能数据备份器 |
Also Published As
Publication number | Publication date |
---|---|
CN104143352A (zh) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105122220B (zh) | 固态驱动器中的原子写入命令支持 | |
CN109992530A (zh) | 一种固态驱动器设备及基于该固态驱动器的数据读写方法 | |
TWI486767B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI435219B (zh) | 資料保護方法、記憶體控制器及可攜式記憶體儲存裝置 | |
CN103377143B (zh) | 存储器管理方法、存储器控制器与存储器存储装置 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US20080162792A1 (en) | Caching device for nand flash translation layer | |
TWI470431B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US11010079B2 (en) | Concept for storing file system metadata within solid-stage storage devices | |
CN104461391A (zh) | 一种存储设备元数据管理处理方法及系统 | |
TWI421869B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
CN104461387A (zh) | 一种提高固态硬盘对未映射区域的读性能的方法 | |
TWI571882B (zh) | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI525625B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN106201774B (zh) | 一种nand flash存储芯片数据存储结构分析方法 | |
CN109086219A (zh) | 去分配命令处理方法及其存储设备 | |
CN109783011A (zh) | 存储设备和存储设备的回收方法 | |
CN102541755B (zh) | 闪存存储器及其接收数据的方法 | |
CN109558333A (zh) | 具有可变额外存储空间(op)的固态存储设备命名空间 | |
CN105224238B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN109976664A (zh) | 固态存储设备的日志数据组织 | |
CN105988936B (zh) | 非挥发性储存装置与控制器 | |
CN102200946B (zh) | 资料存取方法、记忆体控制器与储存系统 | |
CN104166627B (zh) | 一种基于单片机的nand‑flash写操作方法 | |
TWI548991B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |