CN108959108A - 固态硬盘访问方法以及使用该方法的装置 - Google Patents

固态硬盘访问方法以及使用该方法的装置 Download PDF

Info

Publication number
CN108959108A
CN108959108A CN201710384048.0A CN201710384048A CN108959108A CN 108959108 A CN108959108 A CN 108959108A CN 201710384048 A CN201710384048 A CN 201710384048A CN 108959108 A CN108959108 A CN 108959108A
Authority
CN
China
Prior art keywords
mentioned
hard disk
namespace
solid state
state hard
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.)
Granted
Application number
CN201710384048.0A
Other languages
English (en)
Other versions
CN108959108B (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.)
SHANGHAI FEIEN MICROELECTRONIC CO Ltd
Original Assignee
SHANGHAI FEIEN MICROELECTRONIC 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 SHANGHAI FEIEN MICROELECTRONIC CO Ltd filed Critical SHANGHAI FEIEN MICROELECTRONIC CO Ltd
Priority to CN201710384048.0A priority Critical patent/CN108959108B/zh
Priority to TW106123462A priority patent/TWI645330B/zh
Priority to US15/865,469 priority patent/US10936482B2/en
Publication of CN108959108A publication Critical patent/CN108959108A/zh
Application granted granted Critical
Publication of CN108959108B publication Critical patent/CN108959108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

本发明的实施例提出一种固态硬盘访问方法,由处理单元于加载并执行驱动程序时实施,包含:取得数据存取命令,包含命名空间、命令类型及逻辑位置的信息;依据命名空间决定多个实体储存对照表中的一者;从决定的实体储存对照表读取相应于逻辑位置的实***置;以及产生并发送数据存取请求给固态硬盘,包含请求类型及实***置的信息。

Description

固态硬盘访问方法以及使用该方法的装置
技术领域
本发明关连于一种储存装置,特别是一种固态硬盘访问方法以及使用该方法的装置。
背景技术
固态硬盘中通常设置NAND快闪装置。NAND快闪装置并非随机存取,而是序列存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入序列字节(bytes)的值到NAND快闪装置中,并定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(在闪存中的一个写入作业的最小数据块)或一个区块(在闪存中的一个抹除作业的最小数据块)。实际上,为了提升写入及读取的速度,一段连续逻辑位置的数据可能被散布放置于数个实体的储存单元中,并且使用实体储存对应表来指出被写入到实体储存单元中的何处。为因应NAND快闪装置的存取特性,本发明提出一种固态硬盘访问方法以及使用该方法的装置,用以提升存取效能。
发明内容
本发明的实施例提出一种固态硬盘访问方法,由处理单元于加载并执行驱动程序时实施,包含:取得数据存取命令,包含命名空间、命令类型及逻辑位置的信息;依据命名空间决定多个实体储存对照表中的一者;从决定的实体储存对照表读取相应于逻辑位置的实***置;以及产生并发送数据存取请求给固态硬盘,包含请求类型及实***置的信息。
本发明的实施例提出一种固态硬盘存取装置,包含:存储器;及处理单元。存储器储存多个实体储存对照表。处理单元耦接于存储器,用以于加载并执行驱动程序时取得数据存取命令,包含命名空间、命令类型及逻辑位置的信息;依据命名空间决定实体储存对照表中的一者;从存储器中的决定的实体储存对照表读取相应于逻辑位置的实***置;以及产生并发送数据存取请求给固态硬盘,包含请求类型及实***置的信息。
附图说明
图1系依据本发明实施例的计算机装置的***架构图。
图2系依据本发明实施例的固态硬盘的***架构示意图。
图3系依据本发明实施例的存取接口与储存单元的方块图。
图4系依据本发明实施例的一个存取子接口与多个储存子单元的连接示意图。
图5A系依据本发明实施例的存储器配置示意图。
图5B系依据本发明实施例的实体储存对照示意图。
图6系依据本发明实施例的快速周边组件互联的阶层示意图。
图7系依据本发明实施例的固态硬盘访问方法的流程图。
符号说明
110 处理单元(主装置);
120 显示单元;
130 输入设备;
140 固态硬盘;
150 存储器;
160 通讯接口;
210 处理单元;
220 动态随机存取存储器;
250 存取接口;
270 存取接口;
280 储存单元;
270_0、…、270_j 存取子接口;
280_0_0、…、280_j_i 储存子单元;
410_0 数据线;
420_0_1、…、420_0_i 芯片致能控制信号;
500 命名空间对照表;
510、530、550 H2F表;
LBA0、LBA1、…、LBA131071 逻辑区块地址;
511、531、551 实***置信息;
511a、531a、551a 区块编号;
511b、531b、551b 单元编号;
610 应用程序;
620 操作***;
630 驱动程序;
640 传输层;
650 数据链结层;
660 物理层;
S710~S770 方法步骤。
具体实施方式
以下说明系为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的”包含”、”包括”等词,系用以表示存在特定的技术特征、数值、方法步骤、作业处理、组件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
于权利要求中使用如“第一”、“第二”、“第三”等词系用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
图1系依据本发明实施例的计算机装置的***架构图。此***架构可实施于桌面计算机、笔记本电脑、平板计算机、手机计算机或其他具备运算能力的电子装置。处理单元110可使用多种方式实施,例如以专用硬件电路或通用硬件(例如,单处理器、具平行处理能力的多处理器、图形处理器或其他具运算能力的处理器),并且在执行程序代码或软件时,提供之后所描述的功能。处理单元110可包含运算逻辑单元(ALU,Arithmetic and LogicUnit)以及位移器(bit shifter)。运算逻辑单元负责执行布尔运算(如AND、OR、NOT、NAND、NOR、XOR、XNOR等),而位移器负责位移运算及位旋转。***架构另包含存储器150用以储存执行过程中需要的数据,例如,变量、数据表等,以及固态硬盘(SSD,Solid State Disk)140,用以储存各式各样的电子档案,例如,网页、文件、音频文件、视讯文件等。***架构另包含通讯接口160,让处理单元110可藉以跟其他电子装置进行沟通。通讯接口160可以是局域网络通讯模块、无线局域网络通讯模块、蓝芽通讯模块或无线电信通讯模块。输入设备130可包含键盘、鼠标、触控面板等。用户可按压键盘上的硬键来输入字符,藉由操作鼠标来控制鼠标,或者是在触控面板制造手势来控制执行中的应用程序。手势可包含单击、双击、单指拖曳、多指拖曳等,但不限定于此。显示单元320可包含显示面板(例如,薄膜液晶显示面板、有机发光二极管面板或其他具显示能力的面板),用以显示输入的字符、数字、符号、拖曳鼠标的移动轨迹、绘制的图案或应用程序所提供的画面,提供给用户观看。
图2系依据本发明实施例的固态硬盘的***架构示意图。固态硬盘140的***架构中包含处理单元210,用以写入数据到储存单元280中的指定地址,以及从储存单元280中的指定地址读取数据。详细来说,处理单元210透过存取接口270写入数据到储存单元280中的指定地址,以及从储存单元280中的指定地址读取数据。***架构使用数个电子信号来协调处理单元210与储存单元280间的数据与命令传递,包含数据线(data line)、频率信号(clock signal)与控制信号(control signal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(chip enable,CE)、地址提取致能(addresslatch enable,ALE)、命令提取致能(command latch enable,CLE)、写入致能(writeenable,WE)等控制信号。存取接口270可采用双倍数据率(double data rate,DDR)通讯协议与储存单元280沟通,例如,开放NAND快闪(open NAND flash interface,ONFI)、双倍数据率开关(DDR toggle)或其他接口。处理单元210另可使用存取接口250透过指定通讯协议与处理单元110(又可称为主装置host)进行沟通,例如,通用串行总线(universal serialbus,USB)、先进技术附着(advanced technology attachment,ATA)、序列先进技术附着(serial advanced technology attachment,SATA)、快速周边组件互联(peripheralcomponent interconnect express,PCI-E)或其他接口。
储存单元280可包含多个储存子单元,每一个储存子单元实施于一个晶粒(die)上,各自使用关联的存取子接口与处理单元210进行沟通。图3系依据本发明实施例的存取接口与储存单元的方块图。固态硬盘140可包含j+1个存取子接口270_0至270_j,存取子接口又可称为通道(channel),每一个存取子接口连接i+1个储存子单元。换句话说,i+1个储存子单元共享一个存取子接口。例如,当固态硬盘140包含4个通道(j=3)且每一个通道连接4个储存子单元(i=3)时,固态硬盘140一共拥有16个储存子单元280_0_0至280_j_i。处理单元110可驱动存取子接口270_0至270_j中的一者,从指定的储存子单元读取数据。每个储存子单元拥有独立的芯片致能(CE)控制信号。换句话说,当欲对指定的储存子单元进行数据读取时,需要驱动关联的存取子接口致能此储存子单元的芯片致能控制信号。图4系依据本发明实施例的一个存取子接口与多个储存子单元的连接示意图。处理单元210可透过存取子接口270_0使用独立的芯片致能控制信号420_0_0至420_0_i来从连接的储存子单元280_0_0至280_0_i中选择出其中一者,接着,透过共享的数据线410_0从选择出的储存子单元的指定位置读取数据。
于一些实施方式中,主装置110可透过存取接口250提供逻辑区块地址(LBA,Logical Block Address)给处理单元210,用以指示写入或读取特定区域的数据。为优化数据写入的效率,存取接口270将一段具有连续逻辑区块地址的数据分散地摆放在储存单元280中的不同实体区域。因此,固态硬盘140需要于动态随机存取存储器220中储存一个实体储存对照表(storage mapping table,又称为H2F Host-to-Flash表),用以指出每个逻辑区块地址的数据实际储存于储存单元280中的哪个位置。然而,因为不具有主装置110中执行应用程序的知识,存取接口270对数据实体摆放的优化不一定符合主装置110的需求。
透过本发明实施例的固态硬盘访问方法,可实现将实体数据摆放的优化逻辑放置于主装置110的目的。主装置可于存储器150中储存多个H2F表,其中每一个H2F表关联于一个命名空间(namespace)。主装置110透过H2F表为不同命名空间定义固态硬盘140中的不同可视实体范围。命名空间可为64位或128位的标识符(ID,identifier),例如通用唯一标识符(UUID,Universally Unique Identifier)、全球唯一标识符(GUID,Globally UniqueIdentifier)等,或者是自定义长度的用户标识符(user ID)。主装置110可依据不同命名空间制定不同的服务质量(QoS,Quality of Service),并依据服务质量排程相应于不同命名空间的数据存取命令。服务质量描述存取相应于命名空间中的数据的需求条件,例如通过量(throughput)、等待时间等。主装置110可记录相应不同命名空间的执行历史,例如于特定时间点执行特定命名空间的数据存取命令。不同命名空间的服务质量及执行历史可使用特定数据结构实施,例如数据阵列、数据库数据表、档案纪录等,并储存于存储器150。存储器150储存命名空间对照表,包含每一命名空间所关联的H2F表的储存地址的信息。范例的命名空间对照表如表1所示:
表1
命名空间 起始地址
123e4567-e89b-12d3-a456-426655440000 0x10000
123e4567-e89b-12d3-a456-665544000042 0x20000
123e4567-e89b-12d3-a456-554400004266 0x30000
命名空间对照表包含三笔纪录,用以描述命名空间”123e4567-e89b-12d3-a456-426655440000”的H2F表从存储器150的地址0x10000开始储存,命名空间”123e4567-e89b-12d3-a456-665544000042”的H2F表从存储器150的地址0x20000开始储存及命名空间”123e4567-e89b-12d3-a456-554400004266”的H2F表从存储器150的地址0x30000开始储存。
图5A系依据本发明实施例的存储器配置示意图。存储器150可储存命名空间对照表500、命名空间”123e4567-e89b-12d3-a456-426655440000”的H2F表510、命名空间”123e4567-e89b-12d3-a456-665544000042”的H2F表530及命名空间”123e4567-e89b-12d3-a456-554400004266”的H2F表550。H2F表510、530及550中的每一者按照逻辑位置的顺序,储存每一逻辑位置的数据实际储存于储存单元280中的哪个实***置的信息。逻辑位置可以逻辑区块地址(LBA,Logical Block Address)表示,每一个逻辑区块地址对应到储存单元280中一个固定大小的实体储存空间,例如256K、512K或1024K字节(Bytes)。例如,H2F表510依序储存由LBA0至LBA65535的实***置信息;H2F表530依序储存由LBA0至LBA32767的实***置信息;H2F表550依序储存由LBA0至LBA131071的实***置信息。图5B系依据本发明实施例的实体储存对照示意图。每个逻辑区块的实***置信息可以4个字节表示。例如,H2F表510、530及550分别包含LBA0的实***置信息511、531及551。实***置信息511以2个字节511a纪录区块编号(block number)及2个字节511b纪录单元编号(unit number),类似地,实***置信息531以2个字节531a纪录区块编号及2个字节531b纪录单元编号,实***置信息551以2个字节551a纪录区块编号及2个字节551b纪录单元编号,用以指向储存单元280中不同的实***置。须注意的是,因为传统主装置中不储存H2F表的信息,无法实现实体数据摆放的优化,更遑论不同命名空间的实体数据摆放的优化。
图6系依据本发明实施例的快速周边组件互联的阶层示意图。应用程序(application)610可透过操作***(OS,operating system)620读取固态硬盘140中特定地址的数据,或写入数据到固态硬盘140的特定地址。操作***620发出命令给驱动程序630,使得驱动程序630可产生并传送相应的读取与写入请求给传输层(transaction layer)640。传输层(transaction layer)640使用封包架构的分割交易(split-transaction)协议,将读取与写入请求经由数据链结层(data link layer)650及物理层(physical layer)660传送至固态硬盘140。
驱动程序630可从上层取得数据存取命令,并将数据存取命令依据先后顺序推入一至多的先进先出队列。上层可为应用程序610或操作***620。例如,存储器150可配置空间给三个先进先出队列,分别关联于命名空间“123e4567-e89b-12d3-a456-426655440000”、“123e4567-e89b-12d3-a456-665544000042”及“123e4567-e89b-12d3-a456-554400004266”。图7系依据本发明实施例的固态硬盘访问方法的流程图。此方法于处理单元110加载并执行驱动程序630时实施。此方法反复执行一个循环(步骤S710至S770),用以处理应用程序610发出的数据存取命令。于每一回合中,依据服务质量及执行历史从多个命名空间选择出一者(步骤S710),从相应于选择出的命名空间的队列中取得最早进入的数据存取命令,至少包含命名空间、命令类型及逻辑位置的信息(步骤S730),藉由搜寻命名空间对照表500来依据命名空间决定多个H2F表中的一者(S750),从决定的H2F表读取相应于逻辑位置的实***置(步骤S770),以及产生并发送数据存取请求给固态硬盘140,其中至少包含请求类型及实***置的信息(步骤S790)。数据存取命令的命令类型可为数据读取、数据写入等。举例来说,数据存取命令可指示为命名空间”123e4567-e89b-12d3-a456-426655440000”读取LBA0至LBA10的数据。或者,数据存取命令可指示为命名空间”123e4567-e89b-12d3-a456-426655440000”写入数据至LBA0至LBA10。于此须注意的是,当固态硬盘140中的处理单元210收到数据存取请求时,不需要做逻辑及实***置转换,可直接驱动存取接口270从实***置读取数据,或者是写入数据到实***置。
虽然图1至图4中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。此外,虽然图7的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,本领域技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,本领域技术人员亦可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明亦不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了本领域技术人员显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。

Claims (18)

1.一种固态硬盘访问方法,由一处理单元于加载并执行一驱动程序时实施,包含:
取得一数据存取命令,包含一命名空间、一命令类型及一逻辑位置的信息;
依据上述命名空间决定多个实体储存对照表中的一者;
从上述决定的实体储存对照表读取相应于上述逻辑位置的一实***置;以及
产生并发送一数据存取请求给一固态硬盘,包含一请求类型及上述实***置的信息。
2.如权利要求1所述的固态硬盘访问方法,其特征在于,上述决定的实体储存对照表按照逻辑位置的顺序储存关联于上述命名空间的每一逻辑位置的数据实际储存于上述固态硬盘中的一储存单元中的哪个实***置的信息。
3.如权利要求1所述的固态硬盘访问方法,其特征在于,于依据上述命名空间决定多个实体储存对照表中的一者的步骤中,更包含:
藉由搜寻一命名空间对照表来依据上述命名空间决定上述多个实体储存对照表中的一者。
4.如权利要求3所述的固态硬盘访问方法,其特征在于,上述命名空间对照表包含上述命名空间所关联的上述实体储存对照表的一储存地址的信息。
5.如权利要求4所述的固态硬盘访问方法,其特征在于,上述命名空间对照表包含每一上述实体储存对照表储存于一存储器的一起始地址的信息。
6.如权利要求1所述的固态硬盘访问方法,其特征在于,上述数据存取命令从一上层取得。
7.如权利要求6所述的固态硬盘访问方法,其特征在于,上述上层为一应用程序或一操作***。
8.如权利要求1所述的固态硬盘访问方法,其特征在于,上述处理单元设置于上述固态硬盘之外。
9.如权利要求1所述的固态硬盘访问方法,其特征在于,更包含:
依据一服务质量及一执行历史从多个命名空间选择出上述命名空间,
其中,上述数据存取命令从相应于上述命名空间的一队列中取得。
10.一种固态硬盘存取装置,包含:
一存储器,储存多个实体储存对照表;以及
一处理单元,耦接于上述存储器,用以于加载并执行一驱动程序时取得一数据存取命令,包含一命名空间、一命令类型及一逻辑位置的信息;依据上述命名空间决定上述实体储存对照表中的一者;从上述存储器中的上述决定的实体储存对照表读取相应于上述逻辑位置的一实***置;以及产生并发送一数据存取请求给一固态硬盘,包含一请求类型及上述实***置的信息。
11.如权利要求10所述的固态硬盘存取装置,其特征在于,上述决定的实体储存对照表按照逻辑位置的顺序储存关联于上述命名空间的每一逻辑位置的数据实际储存于上述固态硬盘中的一储存单元中的哪个实***置的信息。
12.如权利要求10所述的固态硬盘存取装置,其特征在于,上述存储器储存一命名空间对照表,以及上述处理单元藉由搜寻上述命名空间对照表来依据上述命名空间决定上述多个实体储存对照表中的一者。
13.如权利要求12所述的固态硬盘存取装置,其特征在于,上述命名空间对照表包含上述命名空间所关联的上述实体储存对照表的一储存地址的信息。
14.如权利要求13所述的固态硬盘存取装置,其特征在于,上述命名空间对照表包含每一上述实体储存对照表储存于上述存储器的一起始地址的信息。
15.如权利要求10所述的固态硬盘存取装置,其特征在于,上述数据存取命令从一上层取得。
16.如权利要求15所述的固态硬盘存取装置,其特征在于,上述上层为一应用程序或一操作***。
17.如权利要求10所述的固态硬盘存取装置,其特征在于,上述处理单元设置于上述固态硬盘之外。
18.如权利要求10所述的固态硬盘存取装置,其特征在于,上述处理单元依据一服务质量及一执行历史从多个命名空间选择出上述命名空间,以及上述数据存取命令从相应于上述命名空间的一队列中取得。
CN201710384048.0A 2017-05-26 2017-05-26 固态硬盘访问方法以及使用该方法的装置 Active CN108959108B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710384048.0A CN108959108B (zh) 2017-05-26 2017-05-26 固态硬盘访问方法以及使用该方法的装置
TW106123462A TWI645330B (zh) 2017-05-26 2017-07-13 固態硬碟存取方法以及使用該方法的裝置
US15/865,469 US10936482B2 (en) 2017-05-26 2018-01-09 Methods for controlling SSD (solid state disk) and apparatuses using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710384048.0A CN108959108B (zh) 2017-05-26 2017-05-26 固态硬盘访问方法以及使用该方法的装置

Publications (2)

Publication Number Publication Date
CN108959108A true CN108959108A (zh) 2018-12-07
CN108959108B CN108959108B (zh) 2021-08-24

Family

ID=64401376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710384048.0A Active CN108959108B (zh) 2017-05-26 2017-05-26 固态硬盘访问方法以及使用该方法的装置

Country Status (3)

Country Link
US (1) US10936482B2 (zh)
CN (1) CN108959108B (zh)
TW (1) TWI645330B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902033A (zh) * 2019-02-13 2019-06-18 山东华芯半导体有限公司 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法
CN111399752A (zh) * 2019-01-03 2020-07-10 慧荣科技股份有限公司 不同类型存储单元的控制装置及方法
WO2023056687A1 (zh) * 2021-10-08 2023-04-13 中山市江波龙电子有限公司 一种固态硬盘及其数据操作方法、装置及电子设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597577A (zh) * 2018-12-03 2019-04-09 郑州云海信息技术有限公司 一种处理nvme协议读写命令的方法、***及相关装置
US11068165B2 (en) 2019-06-27 2021-07-20 Western Digital Technologies, Inc. Non-volatile memory data write management
US11656795B2 (en) * 2021-01-21 2023-05-23 EMC IP Holding Company LLC Indicating optimized and non-optimized paths to hosts using NVMe-oF in a metro cluster storage system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407813A (zh) * 2014-11-20 2015-03-11 上海宝存信息科技有限公司 一种基于固态存储介质的raid***及方法
US9213632B1 (en) * 2012-02-29 2015-12-15 Marvell International Ltd. Systems and methods for data storage devices to use external resources
CN105426315A (zh) * 2014-09-02 2016-03-23 慧荣科技股份有限公司 实体储存对照表维护方法以及使用该方法的装置
CN105528299A (zh) * 2014-09-05 2016-04-27 慧荣科技股份有限公司 读取命令排程方法以及使用该方法的装置
CN106201335A (zh) * 2015-05-29 2016-12-07 株式会社东芝 存储***
CN106682003A (zh) * 2015-11-06 2017-05-17 中国电信股份有限公司 分布式存储命名空间的路径分割映射方法和装置
CN106708423A (zh) * 2015-11-13 2017-05-24 三星电子株式会社 多模存储管理***

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI368223B (en) * 2007-12-07 2012-07-11 Phison Electronics Corp Flash memory data writing method and controller using the same
US20180107591A1 (en) * 2011-04-06 2018-04-19 P4tents1, LLC System, method and computer program product for fetching data between an execution of a plurality of threads
US9285991B2 (en) * 2011-04-29 2016-03-15 International Business Machines Corporation System, method and program product to schedule transfer of data
CN102799534B (zh) * 2012-07-18 2015-11-25 上海宝存信息科技有限公司 基于固态存储介质的存储***及方法、冷热数据识别方法
CN102866956B (zh) * 2012-09-14 2015-02-18 上海宝存信息科技有限公司 基于固态存储介质的数据实时跟踪存储***及方法
US9195594B2 (en) * 2013-01-22 2015-11-24 Seagate Technology Llc Locating data in non-volatile memory
TWI584117B (zh) * 2013-06-20 2017-05-21 慧榮科技股份有限公司 資料儲存裝置及用於快閃記憶體之資料讀取方法
US9208074B2 (en) * 2013-08-30 2015-12-08 Silicon Motion, Inc. Updating address mapping in sub-intervals in a flash memory data storage device
US9535628B2 (en) * 2013-10-10 2017-01-03 Apple Inc. Memory system with shared file system
US9632880B2 (en) * 2013-12-26 2017-04-25 Silicon Motion, Inc. Data storage device and flash memory control method
US11042300B2 (en) * 2015-03-31 2021-06-22 Toshiba Memory Corporation Command load balancing for NVME dual port operations
US9696935B2 (en) * 2015-04-24 2017-07-04 Kabushiki Kaisha Toshiba Storage device that secures a block for a stream or namespace and system having the storage device
CN106612619B (zh) * 2015-08-25 2019-05-21 株式会社东芝 分级存储***、利用分级存储装置的计算机及校正对文件的访问计数的计算机
US20180203813A1 (en) * 2015-09-29 2018-07-19 Shannon Systems Ltd. Methods for processing return entities associated with multiple requests in single interrupt service routine thread and apparatuses using the same
KR102450555B1 (ko) * 2015-11-09 2022-10-05 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
US10235198B2 (en) * 2016-02-24 2019-03-19 Samsung Electronics Co., Ltd. VM-aware FTL design for SR-IOV NVME SSD
JP6523193B2 (ja) * 2016-03-08 2019-05-29 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
US10296250B2 (en) * 2016-06-08 2019-05-21 Intel Corporation Method and apparatus for improving performance of sequential logging in a storage device
US10229048B2 (en) * 2016-06-29 2019-03-12 Western Digital Technologies, Inc. Unified paging scheme for dense and sparse translation tables on flash storage systems
US10200376B2 (en) * 2016-08-24 2019-02-05 Intel Corporation Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network
US10225271B2 (en) * 2016-09-09 2019-03-05 International Business Machines Corporation Distributed storage network with enhanced security monitoring
US10146684B2 (en) * 2016-10-24 2018-12-04 Datrium, Inc. Distributed data parallel method for reclaiming space
KR20180047402A (ko) * 2016-10-31 2018-05-10 삼성전자주식회사 멀티 네임스페이스를 관리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
CN106527987B (zh) * 2016-11-04 2019-06-04 湖南国科微电子股份有限公司 一种不带dram的ssd主控可靠性提升***及方法
US10062429B1 (en) * 2017-04-17 2018-08-28 Intel Corporation System, apparatus and method for segmenting a memory array

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213632B1 (en) * 2012-02-29 2015-12-15 Marvell International Ltd. Systems and methods for data storage devices to use external resources
CN105426315A (zh) * 2014-09-02 2016-03-23 慧荣科技股份有限公司 实体储存对照表维护方法以及使用该方法的装置
CN105528299A (zh) * 2014-09-05 2016-04-27 慧荣科技股份有限公司 读取命令排程方法以及使用该方法的装置
CN104407813A (zh) * 2014-11-20 2015-03-11 上海宝存信息科技有限公司 一种基于固态存储介质的raid***及方法
CN106201335A (zh) * 2015-05-29 2016-12-07 株式会社东芝 存储***
CN106682003A (zh) * 2015-11-06 2017-05-17 中国电信股份有限公司 分布式存储命名空间的路径分割映射方法和装置
CN106708423A (zh) * 2015-11-13 2017-05-24 三星电子株式会社 多模存储管理***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111399752A (zh) * 2019-01-03 2020-07-10 慧荣科技股份有限公司 不同类型存储单元的控制装置及方法
CN111399752B (zh) * 2019-01-03 2023-11-28 慧荣科技股份有限公司 不同类型存储单元的控制装置及方法
CN109902033A (zh) * 2019-02-13 2019-06-18 山东华芯半导体有限公司 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法
CN109902033B (zh) * 2019-02-13 2023-03-14 山东华芯半导体有限公司 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法
WO2023056687A1 (zh) * 2021-10-08 2023-04-13 中山市江波龙电子有限公司 一种固态硬盘及其数据操作方法、装置及电子设备

Also Published As

Publication number Publication date
US20180341579A1 (en) 2018-11-29
US10936482B2 (en) 2021-03-02
TW201901405A (zh) 2019-01-01
CN108959108B (zh) 2021-08-24
TWI645330B (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN108959108A (zh) 固态硬盘访问方法以及使用该方法的装置
KR101482285B1 (ko) 복수의 이종의 솔리드 스테이트 저장 위치들의 선택적 이용
CN101154190B (zh) 映射信息管理设备和方法
CN109634523A (zh) 一种磁盘管理方法、***及电子设备和存储介质
CN110633048B (zh) 闪存存储装置的命名空间操作方法
US20080229046A1 (en) Unified support for solid state storage
CN105094707A (zh) 一种数据存储、读取方法及装置
US9697111B2 (en) Method of managing dynamic memory reallocation and device performing the method
CN108932106A (zh) 固态硬盘访问方法以及使用该方法的装置
US11210226B2 (en) Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof
KR20200056533A (ko) 맵 스케줄링을 수행하기 위한 스토리지 장치 및 그것을 포함하는 전자 장치
CN112988060A (zh) 键值存储装置和用于操作键值存储装置的方法
US20080270742A1 (en) System and method for storage structure reorganization
CN107918613A (zh) 因应服务质量的固态硬盘访问方法以及使用该方法的装置
CN104216834A (zh) 一种内存访问的方法、缓冲调度器和内存模块
US20230409235A1 (en) File system improvements for zoned storage device operations
US20080033949A1 (en) Electronic apparatus and method therefor
CN108369555B (zh) 存储器装置中的逻辑地址历史管理
TWI835027B (zh) 更新主機與閃存位址對照表的方法及電腦程式產品及裝置
CN111897743B (zh) 数据储存装置及逻辑至物理地址映射表的载入方法
TWI810876B (zh) 因應主機丟棄命令的資料存取方法及產品電腦程式及裝置
US20240152516A1 (en) Method and apparatus for executing structural query language instruction in solid-state storage device
US20230195345A1 (en) Multi-dimensional solid state drive block access
US8122183B2 (en) Data managing method for flash memory and flash memory device using the same
CN117909251A (zh) 存储介质、调度和执行主机数据更新命令的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant