CN102591784A - 高闪存兼容性的电子装置以及相关的闪存兼容性提升方法 - Google Patents
高闪存兼容性的电子装置以及相关的闪存兼容性提升方法 Download PDFInfo
- Publication number
- CN102591784A CN102591784A CN2011103550777A CN201110355077A CN102591784A CN 102591784 A CN102591784 A CN 102591784A CN 2011103550777 A CN2011103550777 A CN 2011103550777A CN 201110355077 A CN201110355077 A CN 201110355077A CN 102591784 A CN102591784 A CN 102591784A
- Authority
- CN
- China
- Prior art keywords
- virtual
- flash memory
- page
- physical blocks
- physical
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Abstract
本发明揭露具有高闪存兼容性的一种电子装置以及相关的闪存兼容性提升方法。所述电子装置具有一与非门闪存、一处理单元以及一程序存储器。该程序存储器储存应用软件以及操作系统的程序码,由该处理单元读取并且执行。该应用软件以一特定页尺寸发出与非门闪存存取请求。该操作系统扮演该应用软件以及该与非门闪存之间的中继媒介,提供一装置驱动器将该与非门闪存的物理页配置给各虚拟页,使各虚拟页的尺寸等同该特定页尺寸,以参考上述虚拟页响应该应用软件发布的与非门闪存存取请求。
Description
技术领域
本发明是有关于配备有闪存的电子装置,且特别有关于闪存的兼容性设计,以允许电子装置任意使用各种页尺寸的与非门闪存。
背景技术
闪存为非易失性的计算机储存芯片,可被电性抹储以及重新编程。闪存通常应用在存储卡、USB闪存设备、MP 3播放器、固态硬盘(SSD)、大姆哥装置(thumb drive)、个人数字助理装置(PDA)...等,负责一般的数据储存以及计算机与其它数字产品之间的数据传送。
与非门闪存(NAND flash)为闪存的一种。一般来说,一与非门闪存的储存空间还划分为多个物理区块(physical blocks),且各个物理区块还划分为多个物理页(physical pages)。与非门闪存的读、写必须一次一页进行,而其解锁(unlocking)以及抹除(erasing)则需以区块为单元进行(block-wise fashion)。因此,关于配备有与非门闪存的电子装置的应用软件(application software)设计,需将与非门闪存的物理页尺寸以及物理区块尺寸纳入考虑。例如,若所配备的与非门闪存是划分为页尺寸为2K+64字节的多个页,相关的应用软件需设计成以特定尺寸-2K+64字节-为单位,方能存取该与非门闪存。倘若所配备的与非门闪存是划分为页尺寸为4K+128字节的多个页,相关的应用软件需设计成以另一种特定尺寸-4K+128字节-为单位,方能存取该与非门闪存。若要与不同页尺寸的与非门闪存兼容,电子装置的应用软件设计会相当复杂。
发明内容
本发明揭露具有高闪存兼容性的一种电子装置、以及提高电子装置内闪存兼容性的方法。
基于本发明一种实施方式所实现的一电子装置包括一与非门闪存、一处 理单元、以及一程序存储器。该与非门闪存包括多个物理区块、且各物理区块还划分为多个物理页。该程序存储器储存有应用软件以及操作系统的程序码,由该处理单元读取与执行。由该处理单元执行的该应用软件是使用一特定页尺寸发布其对该与非门闪存的存取请求。由该处理单元运作的该操作系统则是扮演上述应用软件以及该与非门闪存的中继媒介,提供一装置驱动器。该装置驱动器会将该与非门闪存的物理页分配给各虚拟页,使各虚拟页的尺寸等同该特定页尺寸,以参照上述虚拟页响应上述应用软件所发出的与非门闪存存取请求。
在另外一种实施方式中,所介绍的是提升电子装置的闪存兼容性的方法。首先,观察电子装置所配备的与非门闪存的物理页尺寸,并且判断该物理页尺寸与一特定页尺寸之间的尺寸比例1∶N,其中,N为一数值,而该特定页尺寸是由该电子装置的应用软件定义,限定该与非门闪存的存取请求尺寸。根据数值N,本方法进行一虚拟页配置,使各个虚拟页配置有该与非门闪存的N个物理页。应用软件所发布的与非门闪存存取请求可通过上述虚拟页获得响应。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图示,详细说明如下。
附图说明
图1A以方块图图解根据本发明一种实施方式所实现的一电子装置;
图1B图解电子装置100的软件架构;
图2图解虚拟页配置的概念;
图3图解关于「页」的读/写指令转换技术;
图4图解虚拟区块配置的概念;
图5图解关于「区块」的读/写指令转换技术;
图6图解一区块抹除指令转换技术;
图7图解一状态观察请求的转换技术;以及
图8图解一状态设定请求的转换技术。
[主要元件标号说明]
100~电子装置;102~与非门闪存;
104~处理单元;106~程序存储器;
108~输入/输出单元;110~应用软件;
112~操作系统的程序码;
202~使用者;
204~应用程序,针对一特定闪存而设计;
206~操作系统;
208~装置驱动器,采用虚拟页配置技术;
B1、B2、...、Bn~物理区块;
Data1、Data2~第一、第二部分的数据字节;
Info~页信息/信息字节;
INSTRUCTION~物理区块状态设定指令;
Instruction_1以及Instruction_2~彼此独立的物理端指令;以及
PhyPage1...PhyPage128~物理页。
具体实施方式
以下叙述列举本发明的多种实施方式。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围界定之。
图1A为一方块图,图解基于本发明一种实施方式所实现的一电子装置。电子装置100包括一与非门闪存102、一处理单元104、一程序存储器106以及一输入/输出单元108。程序存储器106储存着应用软件110以及操作系统的程序码112。处理单元104可读取并且执行程序存储器106内的程序码,以运行多种应用程序(applications)、且建立一操作系统(operating system)管理该与非门闪存102以及该输入/输出单元108。
图1B图解电子装置100的软件架构。使用者202可以应用程序204操作该电子装置100。为了简化设计,编码实现上述应用程序204的应用软件可能仅能读取特定规格的与非门闪存-例如,应用程序204发布的与非门闪存存取请求可能仅与一特定页尺寸兼容。然而,配备在电子装置100上的与非门闪存102(被划分为多个物理区块B1、B2...Bn,且各物理区块被划分为多个物理页)可能具有与上述应用软件所限定的特定页尺寸完全不同的物理页尺寸。为了解决上述物理页尺寸不等同特定页尺寸的问题,操作系统内的装置驱动器的软件设计需采用一虚拟页配置技术。如图所示,操作系统206是应用程序204以及与非门闪存102之间的中继媒介,并且操作系统206提供的 装置驱动器即是用来实现上述虚拟页配置技术。通过所述虚拟页配置技术,一个虚拟页会配置有与非门闪存102的多个物理页(如虚线框所示),使各个虚拟页的尺寸符合应用程序204限定的特定页尺寸。装置驱动器208将参照所虚拟页配置结果驱动该与非门闪存102响应上述应用程序204所发布的与非门闪存存取请求。如此一来,无论与非门闪存102所具备的物理页尺寸为何,针对特定闪存设计的应用程序204皆可正常运作。所揭露的电子装置100可与不同规格的与非门闪存兼容。
图2图解上述虚拟页配置的概念。如图所示,应用程序204发出的与非门闪存访问请求可以是基于一特定页尺寸-4K+128字节,其中占有4K字节的数据(Data)以及128字节的页信息(Info,如错误检查校正信息ECC)。通过装置驱动器208的虚拟页配置功能,与非门闪存102的两个物理页被配置作为一个虚拟页。第一物理页提供2K+64字节,第二物理页提供另外2K+64字节。如此一来,各虚拟页符合上述特定页尺寸,可适当地回复应用程序204发布的与非门闪存访问操作。请注意,在一个虚拟页中,数据字节Data是分割为两部分:Data1以及Data2。第一部份Data1位于第一物理页,且第二部分Data2位于第二物理页。至于虚拟页的信息字节(同样标为Info,以下称之为虚拟页信息),则可被完整地包含在第一物理页、或完整地包含在第二物理页。在另一种实施方式中,第一以及第二物理页则是联合提供信息字节储存虚拟页信息。
除了上述虚拟页配置技术,装置驱动器208还牵涉指令转换。
图3图解一读/写指令转换技术。应用程序204端所发出的各虚拟页读/写指令是用于读/写完整的一个虚拟页。装置驱动器208用于转换各虚拟页读/写指令为分开的多个物理页读/写指令Instruction_1以及Instruction_2。物理页读/写指令Instruction_1以及Instruction_2将分别读/写该应用程序204所请求采访的该虚拟页所对应的第一以及第二物理页。
在另一种实施方式中,装置驱动器208还涉及虚拟区块配置技术。图4图解该虚拟区块配置的概念。应用程序204端所能处理的区块尺寸受限于设计者设定的一特定大小。应用软件内部定义的特定区块尺寸可用来决定单一个虚拟区块的尺寸大小。以图4所示内容为例,其中,特定区块尺寸设计为64*(4K+128字节)。为了驱动该与非门闪存102响应该应用程序204所下达的指令,装置驱动器208将该与非门闪存102内的两个物理区块(包括一第一 物理区块以及一第二物理区块)配置为一个虚拟区块。在此实施例中,该第一物理区块包括64个物理页PhyPage1-PhyPage64,且该第二物理区块也包括64个物理页PhyPage65-PhyPage128。由于每个物理页包含2K+64字节,因此,一个虚拟区块所配置到的总储存空间包含64*2*(2K+64字节),等同该应用软件所限定的特定区块尺寸。虚拟区块同样可被配置来响应应用软件所发出的指令。各虚拟区块的状态(以下称之为虚拟区块状态,显示组成一虚拟区块的所有物理区块的状态(例如,有效/无效))可储存于所对应的物理区块的状态字节中。例如,所述虚拟区块状态可完整储存在该第一物理区块的状态字节中、或完整储存在该第二物理区块的状态字节。在其它实施方式中,上述虚拟区块状态也可被分散储存在该第一物理区块联合该第二物理区块的状态字节中。
除了上述虚拟区块配置技术,装置驱动器208还涉及区块相关的指令的转换技术。
图5图解一种读/写指令转换技术。在应用程序204端,各虚拟区块读/写指令是被发布来读/写完整的一整个虚拟区块。装置驱动器208是用于将各虚拟区块读/写指令转换为分开、彼此独立的物理区块读/写指令Instruction_1以及Instruction_2。被请求读/写的虚拟区块所对应的第一以及第二物理区块是由不同的物理区块读/写指令Instruction_1与Instruction_2分开读/写。
图6图解一区块抹除指令的转换技术。在应用程序204端,各虚拟区块抹除指令是被发布来抹除一个完整的虚拟区块。装置驱动器208用于将各虚拟区块抹除指令转换成分开的多个物理区块抹除指令Instruction_1以及Instruction_2。被要求抹除的该虚拟区块所对应的第一以及第二物理区块会分别由物理区块抹除指令Instruction_1以及Instruction_2抹除。
图7图解一状态观察(GET STATUS)请求的转换技术。状态观察指令通常用来观察区块状态(区块为有效/无效)。在应用程序204端,各虚拟区块状态观察指令是发布来观察所要求的虚拟区块是否为有效虚拟区块。装置驱动器208用于将各虚拟区块状态观察指令转换成分开的多个物理区块状态观察指令Instruction_1以及Instruction_2。被请求采访的虚拟区块所对应的第一物理区块的状态是由物理区块状态观察指令Instruction_1观察获取,至于该虚拟区块所对应的第二物理区块的状态,则是由该 物理区块状态观察 指令Instruction_2观察获取。当观察结果显示两物理区块中有任一者为无效区块,则该虚拟区块可被视为无效。
图8图解一状态设定(SET STATUS)请求的转换技术。状态设定指令一般用于设定区块状态(标示为无效/有效)。在应用程序204端,各虚拟区块状态设定指令是发布来设定所请求的虚拟区块的状态。装置驱动器208用于转换一虚拟区块状态设定指令为一物理区块状态设定指令,将整个虚拟区块的状态记录在对应该虚拟区块的多个物理区块中任一者的状态字节中。在图8所示实施例中,物理区块状态设定指令INSTRUCTION是在第一物理区块的闲余空间记录被要求的整个虚拟区块的状态。在另外一种实施例中,物理区块状态设定指令INSTRUCTION可改在该第二物理区块的闲余空间记录被要求的整个虚拟区块的状态。
此段落讨论一种提升电子装置的闪存兼容性的方法。首先,所述方法观察配备于一电子装置上的一与非门闪存的物理页尺寸,并且观察该物理页尺寸以及一特定页尺寸的比例1∶N,其中N为数值,且该特定页尺寸是由该电子装置内应用软件的与非门闪存采访请求定义。基于数值N,所述方法可实行一虚拟页配置技术-将与非门闪存内N个物理页配置给单一个虚拟页。通过参照上述虚拟页,应用软件所要求的闪存存取可被适当地响应。所讨论的方法可应用于任何配备有与非门闪存的电子装置上。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (18)
1.一种具有高闪存兼容性的电子装置,包括:
一与非门闪存,具有多个物理区块,其中各物理区块还分割为多个物理页;
一处理单元;以及
一程序存储器,储存应用软件以及操作系统的程序码,其中:
上述应用软件是由该处理单元执行,是基于一特定页尺寸要求与非门闪存存取;并且
该操作系统是由该处理单元执行,作为上述应用软件以及该与非门闪存的中继媒介、并且提供一装置驱动器,该装置驱动器配置该与非门闪存的上述物理页给呈上述特定页尺寸的各虚拟页,以参考上述虚拟页响应来自上述应用软件的与非门闪存存取请求。
2.根据权利要求1所述的电子装置,其中该操作系统所提供、且由该处理单元运作的该装置驱动器还储存各虚拟页的虚拟页信息于对应的多个物理页的信息字节中。
3.根据权利要求1所述的电子装置,其中,该操作系统所提供、且由该处理单元运作的该装置驱动器还将该应用软件所要求的单一个虚拟页读/写指令转换为分开的多个物理页读/写指令,以分开读/写多个物理页,上述多个物理页是配置来组成该虚拟页读/写指令所欲存取的单一个虚拟页。
4.根据权利要求1所述的电子装置,其中该操作系统所提供、且由该处理单元运作的该装置驱动器还配置该与非门闪存内特定数量的上述物理区块为该应用软件所能存取的单一个虚拟区块。
5.根据权利要求4所述的电子装置,其中该操作系统所提供、且由该处理单元运作的该装置驱动器还将各虚拟区块的虚拟区块状况储存在对应的多个物理区块的状态字节中。
6.根据权利要求4所述的电子装置,其中该操作系统所提供、且由该处理单元运作的该装置驱动器还将单一个虚拟区块读/写指令转换为分开的多个物理区块读/写指令,以分开读/写多个物理区块,上述多个物理区块是配置来组成该虚拟区块读/写指令所欲存取的一个虚拟区块。
7.根据权利要求4所述的电子装置,其中该操作系统所提供、且由该处理单元运作的该装置驱动器还将单一个虚拟区块抹除指令转换为分开的多个物理区块抹除指令,以分开抹除多个物理区块,上述多个物理区块是配置来组成该虚拟区块抹除指令所欲抹除的一个虚拟区块。
8.根据权利要求4所述的电子装置,其中该操作系统所提供、且由该处理单元运作的该装置驱动器还将单一个虚拟区块状态观察指令转换为分开的多个物理区块状态观察指令,以分开观察多个物理区块的状态,上述多个物理区块是配置来组成该虚拟区块状态观察指令所欲存取的一个虚拟区块。
9.根据权利要求4所述的电子装置,其中该操作系统所提供、且由该处理单元运作的该装置驱动器还将单一个虚拟区块状态设定指令转换为单一个物理区块状态设定指令,以记录一个虚拟区块的状态于多个物理区块中任一者的状态字节中,上述多个物理区块是配置来组成该个虚拟区块。
10.一种提升电子装置的闪存兼容性的方法,包括:
观察该电子装置中一与非门闪存的一物理页尺寸,其中该与非门闪存包括多个物理区块,并且各个上述物理区块还被划分为多个物理页;
判断该物理页尺寸以及一特定页尺寸之间的一尺寸比例1∶N,其中N为一数值,且该特定页尺寸限定该电子装置内应用软件的与非门闪存存取请求;
使各个虚拟页配置有该与非门闪存的N个物理页;以及
参照上述虚拟页,响应该应用软件所发布的上述与非门闪存存取请求。
11.根据权利要求10所述的提升电子装置的闪存兼容性的方法,还储存各虚拟页的虚拟页信息至对应的多个物理页的信息字节中。
12.根据权利要求10所述的提升电子装置的闪存兼容性的方法,还将该应用软件请求的单一个虚拟页读/写指令转换为分开的多个物理页读/写指令,以分开读/写多个物理页,上述多个物理页是配置来组成该虚拟页读/写指令所指的虚拟页。
13.根据权利要求10所述的提升电子装置的闪存兼容性的方法,还将该与非门闪存中N个物理区块配置为该应用软件可存取的一个虚拟区块。
14.根据权利要求10所述的提升电子装置的闪存兼容性的方法,还将各虚拟区块的虚拟区块状态储存在对应的多个物理区块的状态字节中。
15.根据权利要求13所述的提升电子装置的闪存兼容性的方法,还将单一个虚拟区块读/写指令转换为分开的多个物理区块读/写指令,以分开读/写多个物理区块,上述多个物理区块是配置来组成该虚拟区块读/写指令所指的虚拟区块。
16.根据权利要求13所述的提升电子装置的闪存兼容性的方法,还将单一个虚拟区块抹除指令转换为分开的多个物理区块抹除指令,以分开抹除多个物理区块,上述多个物理区块是配置来组成该虚拟区块抹除指令所指的虚拟区块。
17.根据权利要求13所述的提升电子装置的闪存兼容性的方法,还将单一个虚拟区块状态观察指令转换为分开的多个物理区块状态观察指令,以分开观察多个物理区块的状态,上述多个物理区块是配置来组成该虚拟区块状态观察指令所指的虚拟区块。
18.根据权利要求13所述的提升电子装置的闪存兼容性的方法,还将单一个虚拟区块状态观察设定转换为单一个物理区块状态设定指令,以记录一个虚拟区块的状态于多个物理区块中任一者的状态字节中,上述多个物理区块是配置来组成该个虚拟区块。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41740010P | 2010-11-26 | 2010-11-26 | |
US61/417,400 | 2010-11-26 | ||
US13/196,966 US8452914B2 (en) | 2010-11-26 | 2011-08-03 | Electronic devices with improved flash memory compatibility and methods corresponding thereto |
US13/196,966 | 2011-08-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102591784A true CN102591784A (zh) | 2012-07-18 |
Family
ID=44865945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103550777A Pending CN102591784A (zh) | 2010-11-26 | 2011-11-10 | 高闪存兼容性的电子装置以及相关的闪存兼容性提升方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8452914B2 (zh) |
EP (1) | EP2458494A1 (zh) |
JP (1) | JP5694895B2 (zh) |
KR (1) | KR101348048B1 (zh) |
CN (1) | CN102591784A (zh) |
TW (1) | TWI443511B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013174326A3 (zh) * | 2012-12-27 | 2014-01-16 | 中兴通讯股份有限公司 | 不同Nand闪存兼容方法及装置 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US10120694B2 (en) | 2013-03-15 | 2018-11-06 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
JP6076506B2 (ja) * | 2014-01-29 | 2017-02-08 | 株式会社日立製作所 | ストレージ装置 |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
KR101635704B1 (ko) | 2015-02-25 | 2016-07-01 | 영남대학교 산학협력단 | 대용량 입출력을 지원하는 저장장치에 기반한 가상 메모리 시스템 |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
CN107894903B (zh) * | 2017-12-07 | 2021-08-03 | 北京兆易创新科技股份有限公司 | Spi-nand的配置文件的io方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117339B2 (en) * | 1999-10-04 | 2006-10-03 | Intel Corporation | Apparatus to map virtual pages to disparate-sized, non-contiguous real pages |
WO2009053962A2 (en) * | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US20090287956A1 (en) * | 2008-05-16 | 2009-11-19 | David Flynn | Apparatus, system, and method for detecting and replacing failed data storage |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5556448A (en) * | 1995-01-10 | 1996-09-17 | United Air Specialists, Inc. | Electrostatic precipitator that operates in conductive grease atmosphere |
US6081878A (en) * | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
JP4585052B2 (ja) * | 1997-09-18 | 2010-11-24 | 株式会社東芝 | データ記録システム |
US6957237B1 (en) * | 2000-06-02 | 2005-10-18 | Sun Microsystems, Inc. | Database store for a virtual heap |
GB0030226D0 (en) * | 2000-12-12 | 2001-01-24 | Ibm | A data storage system and a method of storing data including a multi-level cache |
US6591330B2 (en) * | 2001-06-18 | 2003-07-08 | M-Systems Flash Disk Pioneers Ltd. | System and method for flexible flash file |
JP4034971B2 (ja) * | 2002-01-21 | 2008-01-16 | 富士通株式会社 | メモリコントローラおよびメモリシステム装置 |
US7516297B2 (en) | 2005-11-10 | 2009-04-07 | Hewlett-Packard Development Company, L.P. | Memory management |
US8019959B2 (en) | 2007-02-09 | 2011-09-13 | Marvell World Trade Ltd. | Nonvolatile memory system |
KR20090106221A (ko) * | 2008-04-04 | 2009-10-08 | 엘지전자 주식회사 | 병렬 구조를 가지는 플래시 메모리 시스템 및 그 데이터기록방법 및 플래시 메모리 |
US8180954B2 (en) | 2008-04-15 | 2012-05-15 | SMART Storage Systems, Inc. | Flash management using logical page size |
-
2011
- 2011-08-03 US US13/196,966 patent/US8452914B2/en not_active Expired - Fee Related
- 2011-09-14 EP EP11181181A patent/EP2458494A1/en not_active Ceased
- 2011-09-23 TW TW100134293A patent/TWI443511B/zh not_active IP Right Cessation
- 2011-10-28 JP JP2011237052A patent/JP5694895B2/ja not_active Expired - Fee Related
- 2011-11-10 CN CN2011103550777A patent/CN102591784A/zh active Pending
- 2011-11-15 KR KR1020110119141A patent/KR101348048B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117339B2 (en) * | 1999-10-04 | 2006-10-03 | Intel Corporation | Apparatus to map virtual pages to disparate-sized, non-contiguous real pages |
WO2009053962A2 (en) * | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US20090287956A1 (en) * | 2008-05-16 | 2009-11-19 | David Flynn | Apparatus, system, and method for detecting and replacing failed data storage |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013174326A3 (zh) * | 2012-12-27 | 2014-01-16 | 中兴通讯股份有限公司 | 不同Nand闪存兼容方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2012113699A (ja) | 2012-06-14 |
US8452914B2 (en) | 2013-05-28 |
EP2458494A1 (en) | 2012-05-30 |
TWI443511B (zh) | 2014-07-01 |
JP5694895B2 (ja) | 2015-04-01 |
KR20120057521A (ko) | 2012-06-05 |
US20120137050A1 (en) | 2012-05-31 |
KR101348048B1 (ko) | 2014-01-03 |
TW201229753A (en) | 2012-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102591784A (zh) | 高闪存兼容性的电子装置以及相关的闪存兼容性提升方法 | |
CN101288054B (zh) | 闪存管理方法、系统、存储设备、以及闪存设备 | |
DE102017104150B4 (de) | Abnutzungsausgleich in Speichervorrichtungen | |
US8918579B2 (en) | Storage device and method for selective data compression | |
JP5495074B2 (ja) | 論理ユニット動作 | |
CN109783017B (zh) | 一种存储设备坏块的处理方法、装置及存储设备 | |
US9423960B2 (en) | Methods of operating memory devices within a communication protocol standard timeout requirement | |
KR20140094468A (ko) | 비휘발성 메모리에 대한 기록들의 관리 및 그 기록들의 영역 선택 | |
CN105683897A (zh) | 具有陈旧数据机制的数据贮存系统及其操作方法 | |
KR20160147509A (ko) | 저장 장치의 온도별 데이터 관리 방법 | |
KR102595233B1 (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
CN103150256A (zh) | 提高usb闪存写入性能的方法和器件 | |
CN111796759B (zh) | 多平面上的片段数据读取的计算机可读取存储介质及方法 | |
US9047176B2 (en) | Storage device and method for utilizing unused storage space | |
EP2812787A1 (en) | Storage device aware of i/o transactions and stored data | |
KR20210028729A (ko) | 논리적 대 물리적 테이블 프래그먼트들 | |
US9727453B2 (en) | Multi-level table deltas | |
KR102270103B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN116048380A (zh) | 藉助于预定命令来进行存储器装置的数据存取控制的方法及设备 | |
CN110955383B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
JP2005092677A (ja) | メモリ装置 | |
CN110928482A (zh) | 部分页条带与使用部分页条带的存储设备及其方法 | |
US11914900B2 (en) | Storage system and method for early command cancelation | |
KR20240009065A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
KR20220159270A (ko) | 스토리지 장치 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120718 |