CN106463145A - 用于硬盘驱动器和混合驱动器的高速缓存系统和方法 - Google Patents

用于硬盘驱动器和混合驱动器的高速缓存系统和方法 Download PDF

Info

Publication number
CN106463145A
CN106463145A CN201580022274.3A CN201580022274A CN106463145A CN 106463145 A CN106463145 A CN 106463145A CN 201580022274 A CN201580022274 A CN 201580022274A CN 106463145 A CN106463145 A CN 106463145A
Authority
CN
China
Prior art keywords
recording surface
memory apparatus
data
rotating memory
cache
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
CN201580022274.3A
Other languages
English (en)
Other versions
CN106463145B (zh
Inventor
S·苏塔德加
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade 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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN106463145A publication Critical patent/CN106463145A/zh
Application granted granted Critical
Publication of CN106463145B publication Critical patent/CN106463145B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • G11B5/5526Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0656Data buffering arrangements
    • 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/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • G11B19/041Detection or prevention of read or write errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • G11B19/047Recovery from power failure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B20/1252Formatting, e.g. arrangement of data block or words on the record carriers on discs for discontinuous data, e.g. digital information signals, computer programme data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1879Direct read-after-write methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/217Hybrid disk, e.g. using both magnetic and solid state storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/224Disk storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/225Hybrid cache memory, e.g. having both volatile and non-volatile portions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/281Single cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/462Track or segment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/70Details relating to dynamic memory management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10657Cache memories for random data access, e.g. buffers wherein the data output is controlled by a priority parameter other than retention time
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1238Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc track, i.e. the entire a spirally or concentrically arranged path on which the recording marks are located
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1242Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc the area forming one or more zones, wherein each zone is shaped like an annulus or a circular sector
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1292Enhancement of the total storage capacity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/043Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using capacitive charge storage elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Digital Magnetic Recording (AREA)
  • Recording Or Reproducing By Magnetic Means (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种系统包括读/写模块和高速缓存模块。该读/写模块被配置为访问旋转存储设备的记录表面的第一部分。数据以第一密度被存储在该旋转存储设备的记录表面的第一部分上。该高速缓存模块被配置为以第二密度将数据高速缓存在该旋转存储设备的记录表面上的第二部分上。该旋转存储设备的记录表面的第二部分与该旋转存储设备的记录表面的第一部分分离。该第二密度小于该第一密度。

Description

用于硬盘驱动器和混合驱动器的高速缓存系统和方法
相关申请的交叉引用
本申请要求于2015年5月1日提交的美国发明申请No.14/702,078的优先权,并且还要求于2014年5月2日提交的美国临时申请No.61/987,947的权益。本申请涉及到2014年10月21日提交的美国专利申请No.14/519,826,该美国专利申请要求于2013年10月21日提交的美国临时申请No.61/893,662、于2013年10月21日提交的美国临时申请No.61/893,675、于2013年10月21日提交的美国临时申请No.61/893,683、以及于2013年10月24日提交的美国临时申请No.61/895,049的权益。上述申请的全文公开通过引用结合于此。
技术领域
本公开总体上涉及存储设备,尤其涉及用于硬盘驱动器和混合驱动器的高速缓存系统和方法。
背景技术
这里所提供的背景技术描述是为了总体上给出本公开的上下文。就该背景技术部分中所描述的工作的范围而言,当前提名的发明人的工作以及描述中在提交时并不以其它方式构成现有技术的方面既非明确也非隐含地被承认为相对本公开的现有技术。
图1示出了硬盘驱动器(HDD)10,其包括硬盘组件(HDA)12和HDD印刷电路板(PCB)14。HDA 12包括一个或多个圆形盘片16,其具有被用来以磁性方式存储数据的磁性表面。数据以二进制形式被存储为正极或负极的磁场。盘片16以堆叠方式进行排列,并且该堆叠由主轴电机18进行旋转。至少一个读/写头端(在下文中为“头端”)20从盘片16的磁性表面读取数据以及在盘片16的磁性表面上写入数据。
每个头端20包括生成磁场的诸如电感器的写入元件,以及对盘片16上的磁场进行感应的诸如磁阻(MR)元件的读取元件。头端20被安装在致动器臂22的远端。诸如音圈电机(VCM)24的致动器使得致动器臂22相对于盘片16发生移动。
HDA 12包括预放大器设备26,其对从头端20接收并且向头端20发送的信号进行放大。在写入数据时,预放大器设备26生成流过头端20的写入元件的写入电流。该写入电流被切换以在盘片16的磁性表面上产生正或负的磁场。在读取数据时,存储在盘片16的磁性表面上的磁场在头端20的读取元件中引起低电平模拟信号。预放大器设备26对该低电平模拟信号进行放大,并且将经放大的模拟信号输出至读/写(R/W)通道(在下文中为“读取通道”)模块28。
HDD PCB 14包括读取通道模块28、硬盘控制器(HDC)模块30、处理器32、主轴/VCM驱动器模块34、易失性存储器36、非易失性存储器38以及输入/输出(I/O)接口40。在写入操作期间,读取通道模块28可以通过使用纠错码(ECC)对数据进行编码以提高可靠性,上述纠错码诸如运行长度限制(RLL)码、Reed-Solomon码等。读取通道模块28然后将经编码的数据传送至预放大器设备26。在读取操作期间,读取通道模块28从预放大器设备26接收模拟信号。读取通道模块28将该模拟信号转换为数字信号,该数字信号被解码以恢复原始数据。
HDC模块30对HDD 10的操作进行控制。例如,HDC模块30生成控制主轴电机18的速度和致动器臂22的移动的命令。主轴/VCM驱动器模块34实施该命令并且生成控制信号,该控制信号对主轴电机18的速度和致动器臂22的定位进行控制。此外,HDC模块30经由I/O接口40与诸如主机设备内的主机适配器之类的外部设备(未示出)进行通信。HDC模块30可以从外部设备接收要存储的数据,并且可以向该外部设备传送所获取的数据。
处理器32对数据进行处理,包括编码、解码、过滤和/或格式化。此外,处理器32对伺服数据(servo)或定位信息进行处理以在读/写操作期间将头端20定位在盘片16的上方。存储在盘片16上的伺服数据确保数据被写入盘片16上的正确位置并且从盘片16上的正确位置被读取。在一些实施方式中,自伺服写入(SSW)模块42可以在将数据存储在HDD 10上之前使用头端20将伺服数据写在盘片16上。
为了增加HDD的存储容量,能够使用叠瓦式磁性记录(SMR)在像屋顶上的瓦片那样部分重叠的轨道中写入数据。数据使用比读取头端更宽的写入头端被写入在叠瓦式轨道中。叠瓦式轨道的非重叠部分比写入头端的宽度更窄。在叠瓦式轨道中被写入的数据由更窄的读取头端读回。叠瓦式轨道提高了数据密度,这使得HDD的存储容量增加。
叠瓦式轨道可以被分组为带,带由带间间隔或保护带分离。根据应用,HDD的整个盘片上的轨道可以被组织为单个带。数据被一次写入整个带中。因此,当带中的部分数据需要被修改(例如,更正或更新)时,执行读取-修改-写入操作。特别地,首先带中的所有数据都被读取并且被存储在存储器中。存储器中所存储的数据的相关部分随后利用新的数据进行修改(例如,被更正或更新)。包括一个或多个经修改部分的整个数据随后被写回到带。
发明内容
一种系统包括读/写模块和高速缓存模块。该读/写模块被配置为访问旋转存储设备的记录表面的第一部分。数据以第一密度被存储在该旋转存储设备的记录表面的第一部分上。该高速缓存模块被配置为以第二密度将数据高速缓存在该旋转存储设备的记录表面的第二部分上。该旋转存储设备的记录表面的第二部分与该旋转存储设备的记录表面的第一部分分离。该第二密度小于该第一密度。
在其它特征中,该旋转存储设备的记录表面的第二部分包括多个轨道。该多个轨道中的每个轨道存储2N个高速缓存行。N是大于或等于0的整数。高速缓存行中的每个高速缓存行的大小大于或等于1兆字节。
在其它特征中,该旋转存储设备的记录表面的第一部分与该旋转存储设备的内径相邻。该旋转存储设备的记录表面的第二部分与该旋转存储设备的外径相邻。
在另一个特征中,该旋转存储设备的记录表面的第二部分具有比该旋转存储设备的记录表面的第一部分更低的轨道密度。
在其它特征中,该读/写模块被配置为使用第一记录格式以第一密度将数据存储在该旋转存储设备的记录表面的第一部分上。该高速缓存模块被配置为使用不同于该第一记录格式的第二记录格式以第二密度将数据高速缓存在该旋转存储设备的记录表面的第二部分上。
在其它特征中,该高速缓存模块包括最终级高速缓存模块,其被配置为从主机接收针对数据的请求,针对对应于该数据的条目查找散列表,并且响应于在该散列表中找到该条目而从(i)该旋转存储设备的记录表面的第二部分获取该数据,或者响应于并未在该散列表中找到该条目而从(ii)该旋转存储设备的记录表面的第一部分获取该数据。
在其它特征中,该系统进一步包括半导体存储器。该半导体存储器从由磁阻随机存取存储器、闪存和动态随机存取存储器所组成的群组中进行选择。该高速缓存模块被配置为使用该半导体存储器作为第一级(L1)高速缓存,并且使用该旋转存储设备的记录表面的第二部分作为第二级(L2)高速缓存。
在另一个特征中,该读/写模块被配置为在该旋转存储设备的读取元件就位(settle)于多个轨道之一上之前读取存储在该旋转存储设备的记录表面的第二部分的该多个轨道之一中的数据。
在其它特征中,该高速缓存模块被配置为使用全集合关联高速缓存将数据高速缓存在该旋转存储设备的记录表面的第二部分上。该系统进一步包括内容可寻址存储器,其被配置为存储对应于该全集合关联高速缓存的散列表。该内容可寻址存储器使用动态随机存取存储器来实施。
在其它特征中,该旋转存储设备包括硬盘驱动器。该硬盘驱动器包括一个或多个盘片。该硬盘驱动器被配置为使用叠瓦式磁性记录以第一密度在盘片中的每个盘片上存储大于或等于1太字节的数据。
在其它特征中,该读/写模块被配置为在该旋转存储设备的记录表面的第一部分上所执行的每个写入操作之后从该旋转存储设备的记录表面的第一部分读取数据。响应于在从该旋转存储设备的记录表面的第一部分读取数据时检测到错误,该读/写模块被配置为将来自该旋转存储设备的记录表面的第二部分的数据重新写入到该旋转存储设备的记录表面的第一部分。
在其它的特征中,一种方法包括以第一密度将数据存储在旋转存储设备的记录表面的第一部分上,并且以第二密度将数据高速缓存在该旋转存储设备的记录表面的第二部分上。该旋转存储设备的记录表面的第二部分与该旋转存储设备的记录表面的第一部分分离。该第二密度小于该第一密度。
在其它特征中,该方法进一步包括选择该旋转存储设备的记录表面的第二部分上的多个轨道;并且在该多个轨道中的每个轨道中存储2N个高速缓存行,其中N是大于或等于0的整数。
在另一个特征中,该方法进一步包括选择等于或大于1兆字节的高速缓存行中的每个高速缓存行的大小。
在其它特征中,该方法进一步包括选择与该旋转存储设备的内径相邻的该旋转存储设备的记录表面的第一部分,并且选择与该旋转存储设备的外径相邻的该旋转存储设备的记录表面的第二部分。
在另一个特征中,该方法进一步包括选择具有比该旋转存储设备的记录表面的第一部分更低的轨道密度的该旋转存储设备的记录表面的第二部分。
在其它特征中,该方法进一步包括使用第一记录格式以第一密度将数据存储在该旋转存储设备的记录表面的第一部分上,并且使用不同于该第一记录格式的第二记录格式以第二密度将数据高速缓存在该旋转存储设备的记录表面的第二部分上。
在其它特征中,该方法进一步包括从主机接收针对数据的请求,并且针对对应于该数据的条目查找散列表。该方法进一步包括响应于在该散列表中找到该条目而从(i)该旋转存储设备的记录表面的第二部分获取该数据,或者响应于并未在该散列表中找到该条目而从(ii)该旋转存储设备的记录表面的第一部分获取该数据。
在其它特征中,该方法进一步包括从由磁阻随机存取存储器、闪存和动态随机存取存储器所组成的群组中选择半导体存储器;使用该半导体存储器作为第一级(L1)高速缓存;并且使用该旋转存储设备的记录表面的第二部分作为第二级(L2)高速缓存。
在另一个特征中,该方法进一步包括在该旋转存储设备的读取元件就位于多个轨道之一上之前读取存储在该旋转存储设备的记录表面的第二部分的该多个轨道之一中的数据。
在其它特征中,该方法进一步包括使用全集合关联高速缓存将数据高速缓存在该旋转存储设备的记录表面的第二部分上;在内容可寻址存储器中存储对应于该全集合关联高速缓存的散列表;并且使用动态随机存取存储器来实施该内容可寻址存储器。
在其它特征中,该旋转存储设备包括具有一个或多个盘片的硬盘驱动器,并且该方法进一步包括使用叠瓦式磁性记录在该硬盘驱动器的每个盘片上存储大于或等于1太字节的数据。
在其它特征中,该方法进一步包括在该旋转存储设备的记录表面的第一部分上所执行的每个写入操作之后从该旋转存储设备的记录表面的第一部分读取数据。该方法进一步包括响应于在从该旋转存储设备的记录表面的第一部分读取数据时检测到错误,将来自该旋转存储设备的记录表面的第二部分的数据重新写入到该旋转存储设备的记录表面的第一部分。
本公开另外的可应用领域将从详细描述、权利要求和附图而变为显而易见的。该详细描述和具体示例仅意在用于说明的目的而并非意在对本公开的范围加以限制。
附图说明
图1是根据现有技术的硬盘驱动器(HDD)的功能框图。
图2是根据本公开的包括HDD和被用作高速缓存的固态盘(SSD)的混合驱动器的功能框图。
图3A-3C描绘了根据本公开的在HDD上以第一(高)密度存储数据并且以第二(低)密度高速缓存数据的不同布置。
图4A是根据本公开的以第一(高)密度存储数据并且以第二(低)密度高速缓存数据的HDD的功能框图。
图4B是根据本公开的HDD的功能框图,其在该HDD的第一部分中以第一(高)密度存储数据,使用半导体存储器作为L1高速缓存,并且使用被用来以第二(低)密度高速缓存数据的该HDD的第二部分作为L2高速缓存。
图5示出了根据本公开的示意图,其中主机(例如,PC)使用盘高速缓存和最终级高速缓存(FLC)从HDD获取数据。
图6示出了根据本公开的在图5中用于使用盘高速缓存和FLC从HDD获取数据的方法。
在附图中,附图标记可以被重复用来标示相似和/或相同的要素。
具体实施方式
本公开提出了用于以层级方式在硬盘驱动器(HDD)上高速缓存数据的系统和方法。该HDD可以以第一(高)密度在该HDD的记录表面的第一部分上存储数据(例如,使用叠瓦式磁性记录(SMR))。该HDD可以以第二(低)密度在该HDD的记录表面的第二部分上高速缓存数据(例如,并不使用SMR)。例如,数据可以以第一(高)密度被存储在第一部分的叠瓦式轨道中,并且数据可以被高速缓存在第二部分中的多个非叠瓦式轨道上。
贯穿本公开,SMR仅被用作高密度数据记录技术或格式的说明性示例。可替换地,可以代替地使用任何其它的数据记录技术或格式。通常,每英寸的轨道数量在记录表面的第一部分(高密度,数据部分)中可以大于在该记录表面的第二部分(低密度,高速缓存部分)中。可替换地或除此之外,数据密度(例如,每个轨道的扇区和/或每个扇区的字节)在记录表面的第一部分(数据部分)中可以大于在该记录表面的第二部分(高速缓存部分)中。因此,第一(高)密度和第二(低)密度可以分别指示记录表面的第一部分(数据部分)中的第一(高)每英寸轨道数量以及该记录表面的第二部分(高速缓存部分)中的第二(低)每英寸轨道数量。可替换地或除此之外,第一(高)密度和第二(低)密度可以分别指示记录表面的第一部分(数据部分)中的第一(高)每轨道扇区数量和/或每扇区字节数量以及该记录表面的第二部分(高速缓存部分)中的第二(低)每轨道扇区数量和/或每扇区字节数量。
选择高速缓存行的大小而使得有预定数量的高速缓存行(例如,2N个高速缓存行,其中N是大于或等于0的整数)能够被存储在每个非叠瓦式轨道中从而简化用来在非叠瓦式轨道上高速缓存数据的高速缓存算法所执行的计算。例如,高速缓存行的大小能够至少为1兆字节(MB)并且可以是数十兆字节。非叠瓦式轨道的轨道密度(即,每英寸轨道或TPI)能够被放宽从而避免轨道间干扰(ITI),同时能够在每英寸内封装比正常情况下更多的叠瓦式轨道从而进一步提高HDD的总存储容量。非叠瓦式轨道上的读/写操作能够在并不等待读/写头端就位于非叠瓦式轨道上的情况下被执行,这改进了访问时间。读取操作在叠瓦式轨道上执行的每次写入操作之后被执行,并且被高速缓存在非叠瓦式轨道中的数据被用来在读取操作期间检测到错误的情况下对叠瓦式轨道上的数据进行重新写入。能够增加半导体高速缓存作为L1高速缓存,在这种情况下,包括非叠瓦式轨道的高速缓存(称作盘高速缓存或HDD高速缓存)被用作L2高速缓存。L1和L2高速缓存中的每一个的容量与HDD的总存储容量相比可以非常小(例如,近似为HDD的总存储容量的1%)。
更具体地,本公开提出了针对纯HDD以及包括HDD和固态盘(SSD)的混合驱动器的高速缓存系统和方法。针对混合驱动器,该高速缓存系统和方法可以使用容量非常小的SSD(例如,8吉字节(GB)或16GB)来对被写入极高容量HDD(例如,具有从512GB至数十太字节(TB)的存储容量的HDD)或从极高容量HDD读取的数据进行高速缓存。类似的高速缓存系统和方法可以被用于纯HDD(即,并不使用SSD来高速缓存数据的HDD),纯HDD使用SMR来存储数据,这明显增加了HDD的存储容量。在使用SMR的纯HDD中,以传统格式(即,非叠瓦式格式)存储数据的少量HDD存储(即,该HDD的一小部分)能够被分配用于高速缓存(即,允许高速缓存数据被随机写入)。该HDD的高速缓存部分中的非叠瓦式轨道的轨道密度(即,每英寸轨道或TPI)能够被放宽(即,非叠瓦式轨道能够间隔更远)从而消除轨道间干扰(ITI),这允许非常快的头端就位时间并且将读取错误率降低至几乎可忽略的水平(实际上消除了重试)。
在任一种情况下,由于相对小的高速缓存容量,高速缓存命中率需要接近99.99%。对于混合驱动器,高的高速缓存命中率有效地使得设备看上去就像纯的SSD。实际上,从用户的观点来看,该系统将整体HDD大小报告为SSD(或HDD高速缓存)的大小。为了达到99.99%的高速缓存命中率,通常在处理器子系统(例如,片上系统(SOC))中使用的最终级高速缓存(FLC,也被称作最后级高速缓存或LLC)能够被适配用于HDD环境。具体地,高速缓存行的大小能够从千字节(KB)增加至兆字节(MB),这是因为在HDD高速缓存中,头端定位消耗相当的时间量(数毫秒),并且增加高速缓存行的大小减少了在多个轨道上重新定位头端的需要。另外,由于PC基准(benchmark)可以具有到任何位置的随机的读/写以及顺序的读/写,所以高速缓存行的大小可以是轨道容量的倍数。例如,高速缓存行的大小可以是2的幂的倍数从而简化高速缓存算法的实施方式,这可以通过选择HDD上的轨道的适当的带而实现。
对于SSD,虽然没有与HDD相关联的约束(例如,头端就位时间),但是高速缓存行的大小仍然能够增大,这是因为FLC是全集合关联高速缓存并且在代替地选择小的高速缓存行的大小的情况下将需要大量内容可寻址存储器(CAM)或散列表。例如,8KB的高速缓存行的大小将需要一百万个条目,这在成本上是不允许的。相反,通过增大高速缓存行的大小,条目的数量能够被限制为类似于处理器子系统中的FLC的不超过数万个条目。
例如,考虑大小为1MB的高速缓存行。假设HDD容量的1-2%被分配作为盘高速缓存。如果HDD容量为8TB,则8TB的1-2%是80-160GB。散列表中的条目数量将是80-160GB除以1MB,其是80K-160K个条目。用来存储这种大小的散列表的SRAM将会非常昂贵。因此,可以替代地使用DRAM来存储该散列表。
在混合驱动器和纯HDD中,用于实施CAM的散列表可以被存储在DRAM而不是片上SRAM中,这是因为HDD和SSD的访问时间明显大于DRAM的访问时间(即,更慢)。使用DRAM还允许在SOC侧以几乎没有成本的方式来实施FLC,这是因为SOC通常包括DRAM。
本公开的高速缓存系统和方法提供了许多好处。例如,由于高速缓存区域中的轨道间距被放宽,所以不必等待直至头端至少在读取操作期间完全就位,这进一步缩短了访问时间。此外,在叠瓦式区域(即,主HDD存储区域)中,轨道间距能够被压缩(即,每英寸能够封装更多的叠瓦式轨道)至针对主HDD存储的读取故障限制而不是写入故障限制的点。叠瓦式轨道的轨道间距由于使用了以上高速缓存系统和方法而能够减小,能够针对在叠瓦式轨道上所执行的每个写入操作来执行读取操作从而验证数据是否在该叠瓦式轨道上被正确写入。如果在写入操作之后执行的读取操作期间发生了读取错误,则能够从被高速缓存在非叠瓦式轨道中的数据将该数据重新写入叠瓦式轨道。
除此之外,大多数写入操作能够在而用户不会注意到的后台中在HDD上执行。就用户而言,该设备给出针对读取和写入命令的即时响应。仅有的用户可能注意到任何延迟的时间是在用户执行极大的顺序写入操作时,诸如在写入多个全高清(HD)电影内容时。然而,这在如今并不成为问题,因为最慢的HDD也处于比互联网带宽更快的量级。以下对本公开的高速缓存系统的这些和其它特征进行详细描述。
图2示出了混合驱动器100。混合驱动器100包括硬盘驱动器(HDD)102、固态盘(SSD)104、盘控制器106和主机接口108。主机接口108将混合驱动器100对接至主机(未示出)。盘控制器106控制HDD 102和SSD 104。SSD 104用来对数据进行高速缓存。盘控制器106使用SSD 104对数据进行高速缓存。
SSD 104的容量相对于HDD 102的容量通常非常小。例如,SSD 104的容量可以是8GB至16GB,而HDD 102的容量则可以是512GB至1TB或2TB。因此,SDD 104的容量与HDD 102的容量的比率例如可以是8GB比512GB或1:64;或者8GB比1TB或1:128。也就是说,SDD 104的容量可以近似为HDD 102的容量的1%。
图3A-3C示出了根据本公开的使用非叠瓦式轨道用于在纯HDD(即,没有SSD的HDD)中高速缓存数据的示例。具体地,HDD的第一(高密度)部分被用作大容量存储,而HDD自身的第二(低密度)部分被用作高速缓存。虽然仅示出了HDD的单个盘片(即,记录表面),但是以下所描述的系统和方法也能够被扩展至该HDD的其它盘片(即,记录表面)。
该第一和第二部分可以以不同方式进行排列。HDD的每个盘片具有外径(OD)和内径(ID)。用来存储高速缓存数据的非叠瓦式轨道可以位于盘片上的任何地方。例如,在图3A中,用来存储高速缓存数据的非叠瓦式轨道的位置更接近于盘片的外径,而该盘片上的其余轨道是叠瓦式的并且被用来使用SMR存储常规数据。在图3B中,用来存储高速缓存数据的非叠瓦式轨道的位置更接近于盘片的内径,而该盘片上的其余轨道是叠瓦式的并且被用来使用SMR存储常规数据。在图3C中,用来使用SMR存储数据的叠瓦式轨道位于更接近于盘片的外径和内径的区域中,而用来存储高速缓存数据的非叠瓦式轨道位于包括叠瓦式轨道的区域之间。包括图3A至3C中所示的一种或多种布置的组合的非叠瓦式轨道和叠瓦式轨道的许多其它布置也被预见到。
仅作为示例,所示出的HDD可以使用叠瓦式磁性记录(SMR)在叠瓦式轨道中存储数据。HDD的盘片上所选择数量的非叠瓦式轨道能够被用来高速缓存数据。不同于使用SMR存储在叠瓦式轨道中的数据,高速缓存数据在不使用SMR的情况下被存储在所选择的非叠瓦式轨道中。相反,该高速缓存数据以常规方式(即,不使用SMR或者通过使用SMR以外的数据记录技术)被存储在所选择的非叠瓦式轨道中。因此,不同于被用来使用SMR存储数据的叠瓦式轨道,被用来存储高速缓存数据的非叠瓦式轨道并不使用SMR来存储高速缓存数据。相反,非叠瓦式轨道使用SMR以外的常规数据记录技术来存储高速缓存数据。由于非叠瓦式轨道在盘上高速缓存数据,所以被用来高速缓存数据的非叠瓦式轨道也可以被称为盘高速缓存或HHD高速缓存。
用来存储高速缓存数据的非叠瓦式轨道能够被间隔开来(例如,可以以预定距离被分离)从而不会导致轨道间干扰(ITI)。换句话说,用来存储高速缓存数据的非叠瓦式轨道的轨道密度(即,每英寸的轨道或TPI)能够明显小于用来使用SMR存储常规数据的叠瓦式轨道的轨道密度。用来存储高速缓存数据的非叠瓦式轨道的轨道密度还能够明显小于并不使用SMR存储数据的常规HDD的轨道密度。用来存储高速缓存数据的非叠瓦式轨道的总容量相对于HDD的总容量非常小。例如,非叠瓦式轨道的总存储容量可以近似为HDD的总存储容量的1%。
第一(高密度)部分以高密度存储大容量数据。在第一(高密度)部分上执行的读/写操作使用最为复杂的信号处理来对存储在第一(高密度)部分上的数据进行处理。这样的处理器消耗高功率并且使用大的晶元大小。然而,这样的复杂度能够针对较慢性能而加以权衡。另外,第一(高密度)部分在盘高速缓存(即,第二(低密度)部分)具有低的未命中率(例如,1%的未命中率;即99%的命中率)的情况下可能很少被访问。
第二(低密度)部分以低密度高速缓存数据,其易于进行恢复。在第二(低密度)部分上执行的读/写操作使用低复杂度的信号处理和低功率来处理存储在第二(低密度)部分上的数据。由于第二(低密度)部分通常位于如图3A所示的盘片(记录表面)的外径(OD)附近,所以数据速率和性能是最高的。另外,第二(低密度)部分由于盘高速缓存(即,第二(低密度)部分)具有高的命中率(例如,99%的命中率;即,1%的未命中率)而经常被访问。高速缓存是整体大容量存储的快照。为了得到高的命中率,如以上所解释的使用FLC。在没有FLC的情况下,命中率可能低于50%从而导致不良的性能。
图4A示出了根据本公开的纯HDD 200的示例。HDD 200包括硬盘组件(HDA)202、读/写模块204、高速缓存模块206、内容可寻址存储器(CAM)208和主机接口210。HDA 202可以包括一个或多个盘片。该一个或多个盘片可以包括图3A-3C中所示的叠瓦式和非叠瓦式轨道的一种或多种布置或者叠瓦式和非叠瓦式轨道的任意其它布置。
读/写模块204与主机接口210进行通信,并且使用SMR从HDA 202上的叠瓦式轨道读取数据和向HDA 202上的叠瓦式轨道写入数据。高速缓存模块206与读/写模块204和HDA202进行通信,并且在不使用SMR的情况下将数据高速缓存(即,读取和写入高速缓存数据)至HDA 202的一个或多个盘片上的非叠瓦式轨道。在一些实施方式中,读/写模块204还可以在不使用SMR的情况下从HDA 202的一个或多个盘片上的非叠瓦式轨道读取高速缓存数据和向HDA 202的一个或多个盘片上的非叠瓦式轨道写入高速缓存数据。
高速缓存模块206实施全集合关联高速缓存算法并且将对应的散列表存储在CAM208中。例如,CAM 208可以使用动态随机存取存储器(DRAM)来实施,因为DRAM的访问时间比HDD的访问时间更快。
高速缓存模块206选择每个高速缓存行的大小。例如,假设期望使用非叠瓦式轨道的8GB高速缓存容量。高速缓存模块206将8GB的高速缓存容量除以8K的高速缓存行而产生1MB作为每个高速缓存行的大小。通常,每个高速缓存行的大小可以至少为1MB。例如,每个高速缓存行的大小可以为数十兆字节。
用来存储高速缓存数据的非叠瓦式轨道的存储容量取决于该非叠瓦式轨道的半径。因此,非叠瓦式轨道的存储容量取决于盘片上的非叠瓦式轨道的位置。例如,位于盘片的外径附近的非叠瓦式轨道将具有比位于盘片的内径附近的非叠瓦式轨道更多的存储容量。此外,位于盘片的外径附近的非叠瓦式轨道将具有比位于盘片的内径附近的非叠瓦式轨道更高的数据速率(例如,近似两倍的数据速率)。
因此,高速缓存模块206可以选择每个高速缓存行的大小和/或用来存储高速缓存数据的非叠瓦式轨道的位置,使得整数数量的高速缓存行能够适合于每个非叠瓦式轨道。例如,高速缓存模块206可以选择每个高速缓存行的大小和/或非叠瓦式轨道的位置,使得2N个高速缓存行能够适合非叠瓦式轨道中的每个非叠瓦式轨道,其中N是大于或等于0的整数。与选择每个非叠瓦式轨道任意其它数量的高速缓存行相比,选择每个非叠瓦式轨道二进制数量的高速缓存行可以简化由高速缓存模块206所执行的高速缓存算法所进行的计算。高速缓存模块206因此能够定位能够满足每个非叠瓦式轨道2N个高速缓存行的关系的非叠瓦式轨道的带。
理想情况下,高速缓存行的大小可以等于轨道的大小。例如,轨道的大小和高速缓存行的大小可以为1MB。在该示例中,使用16K轨道作为盘高速缓存将产生16K*1MB=16GB的盘高速缓存大小。
通常,高速缓存行的大小基于所期望的高速缓存大小和HDD的容量进行选择。例如,如果HDD的容量为1TB并且如果所期望的高速缓存大小近似为HDD的容量的1%(例如,8GB),则高速缓存行的大小可以被选择为1MB,即8GB的高速缓存大小除以总共8K个高速缓存行。选择HDD上的非叠瓦式轨道的带,其中该非叠瓦式轨道的带能够存储全部数量的高速缓存行(例如,以上示例中的8K个高速缓存行),并且其中每个非叠瓦式轨道能够存储预定数量的高速缓存行。例如,每个非叠瓦式轨道能够存储整数数量的高速缓存行,其中该整数数量可以是二进制数2N,其中N是大于或等于0的整数。例如,所选择的非叠瓦式轨道的带可以位于更接近于盘片的外径或内径,或者处于盘片上的叠瓦式轨道的两个区域之间。另外,所选择的非叠瓦式轨道的轨道密度(即,每英寸的轨道或TPI)应当使得在任意的所选择的非叠瓦式轨道上执行读/写操作时将没有轨道间干扰。
数据以低密度被高速缓存在所选择的非叠瓦式轨道上(例如,不使用叠瓦式磁性记录(SMR))。换句话说,在高速缓存期间,以常规方式在所选择的非叠瓦式轨道上执行读/写操作。在针对HDD的正常读/写操作期间,例如,数据使用叠瓦式磁性记录(SMR)以高密度被写入到其它叠瓦式轨道。而且,在叠瓦式轨道上所执行的每个写入操作之后执行读取操作以验证该数据被正确写入在叠瓦式轨道上。如果发生错误,则被高速缓存在非叠瓦式轨道中的数据被用来对该叠瓦式轨道进行重新写入。由于写入错误能够如上被轻易纠正,所以在HDD的盘片上每英寸能够封装比正常情况下更多的叠瓦式轨道。
由于非叠瓦式轨道由充分的预定距离进行分离从而不会导致轨道间干扰,所以高速缓存模块206(或者读/写模块204)能够从非叠瓦式轨道读取被高速缓存的数据而并不等待读取头端完全就位于给定的非叠瓦式轨道上。也就是说,高速缓存模块206(或读/写模块204)能够从非叠瓦式轨道读取经高速缓存的数据而并不等待读取头端的就位时间过去。在并不等待读取头端的就位时间的情况下读取数据减少了读取操作的访问时间,这进一步提高了该高速缓存系统的性能。类似地,针对非叠瓦式轨道的写入操作能够在并不等待写入头端完全就位于给定轨道(即,并不等待写入头端的就位时间过去)的情况下被执行。
由于以上高速缓存系统的速度和准确性,叠瓦式轨道能够比正常情况下更为紧凑地封装在一起,并且针对叠瓦式轨道的每次写入操作能够通过后续的读取操作加以验证。如果写入操作之后的读取操作指示数据由于紧凑封装的叠瓦式轨道而被不正确地写入,则该数据能够从被高速缓存在非叠瓦式轨道中的数据快速读取并且能够在叠瓦式轨道上重新写入而并不对HDD 200的性能造成不利影响。
使用每个非叠瓦式轨道的二进制数量的高速缓存行并且使用全集合关联高速缓存能够提供比99.99%更好的高速缓存命中率。由于用来高速缓存数据的非叠瓦式轨道仅使用总盘容量的近似1%并且由于能够在HDD 200的盘片上封装比正常情况下更多的叠瓦式轨道,所以HDD 200的总存储容量能够明显增加。例如,使用以上高速缓存系统能够实现每个2.5”盘片1TB量级的总存储容量。
图4B示出了根据本公开的HDD 250的示例。HDD 250包括HDD 200的所有部件并且还包括第一级(L1)高速缓存525。L1高速缓存252能够使用半导体存储器来实施。例如,L1高速缓存能够使用磁阻随机存取存储器(MRAM)、SSD(例如,闪存)、DRAM等中的一个或多个来实施。包括HDD中所选择的非叠瓦式轨道的盘高速缓存被用作L2高速缓存。在将数据高速缓存至L1和L2高速缓存时使用全集合关联高速缓存。散列表被存储在DRAM中。
类似于HDD高速缓存,L1高速缓存252的大小与HDD 250的总盘容量相比也可以非常小。例如,L1高速缓存252的大小可以是HDD 250的总盘容量的0.1%。例如,L1高速缓存252的大小在HDD 250的总盘容量为1TB时可以是1GB。然而,不同于HDD高速缓存,L1高速缓存252的高速缓存行大小可以是常规的。例如,L1高速缓存252的高速缓存行可以以KB计(例如,8KB、16KB等)。可替换地,在一些实施方式中,L1高速缓存252的高速缓存行的大小可以类似于HDD高速缓存的高速缓存大小(例如,大于或等于1MB)。
在HDD 250中,包括非叠瓦式轨道的盘高速缓存被用作第二级(L2)高速缓存254。例如,L2高速缓存254的大小仍然可以相同(即,近似为HDD 250的总盘容量的1%;例如在HDD 250的容量为1TB或2TB的情况下为8GB或16GB),而L1高速缓存252的大小则可以是例如1GB。
L1高速缓存252比L2高速缓存254更快并且能够提供近似99%的高速缓存命中率。L2高速缓存254比L1高速缓存252更慢但是比叠瓦式HDD 250更快,并且能够提供大于或等于近似99.99%的高速缓存命中率。因此,预见到了包括L1半导体高速缓存、L2盘高速缓存(包括非叠瓦式轨道)和HDD(包括叠瓦式轨道,其可以被认为是第三高速缓存级)的三级高速缓存存储系统。
图5和6示出了使用盘高速缓存和FLC从HDD 200/250获取数据的示例。图5示出了示意图,其中主机101(例如,PC)使用盘高速缓存和FLC从HDD 200/250获取数据。图6示出了图5中用于使用盘高速缓存和FLC从HDD 200/250获取数据的方法300。在图5中,高速缓存模块206包括FLC存储器207。CAM模块208包括DRAM 209。以下参考图6对从图5所示的HDD 200/250进行的数据获取进行解释。
在图6中,在302,FLC模块207从主机101接收针对数据的请求。在304,FLC模块207执行DRAM 209中的高速缓存条目的查找。在306,FLC模块207基于该查找而确定是否发生了高速缓存命中或高速缓存未命中(即,针对所请求的数据的高速缓存条目在DRAM 209中所存储的散列表中被找到(导致高速缓存命中)还是未被找到(导致高速缓存未命中))。在308,如果发生了高速缓存命中,则FLC模块207从盘高速缓存读取所请求的数据。在310,如果发生了高速缓存未命中,则FLC模块207从HDD的大容量存储读取所请求的数据。在312,FLC模块207将从HDD(从HDD的盘高速缓存或者大容量存储)读取的所请求的数据发送至主机101。FLC模块207的详细描述能够在2014年10月21日提交的美国专利申请No.14/519,526中找到,其通过引用全文结合于此。
高速缓存行的大小;非叠瓦式轨道的数量、位置和轨道密度;以及叠瓦式轨道的轨道密度中的一个或多个能够由制造商预先确定。在一些实施方式中,高速缓存行的大小;非叠瓦式轨道的数量、位置和轨道密度;以及叠瓦式轨道的轨道密度中的一个或多个能够由HDD的消费者预先确定。
本公开中的读/写模块可以包括HDD的读取通道(即,读取通道电路或读取通道控制器),其包括用来使用HDD的一个或多个盘片上的读/写头端读取和写入数据的读/写电路。因此,本公开中的“读/写模块”、“读取模块”和“写入模块”分别能够被称为“读/写电路”、“读取电路”和“写入电路”。可替换地,本公开中的“读/写模块”、“读取模块”和“写入模块”分别能够被称为“读/写控制器”、“读取控制器”和“写入控制器”。类似地,本公开中的高速缓存模块可以包括执行高速缓存算法并且将数据高速缓存至如以上所描述的L1和L2高速缓存的高速缓存控制器。因此,本公开中的“高速缓存模块”能够被称为“高速缓存控制器”。
以上描述的本质上仅是说明性而决非意在对本公开、其应用或用途加以限制。本公开的宽泛教导能够以各种形式来实施。因此,虽然本公开包括特定示例,但是本公开的实际范围并不应当如此界定,因为通过研习附图、说明书和所附权利要求,其它的修改将会变为显而易见。如这里所使用的,短语A、B和C中的至少一个应当被理解为表示使用非排斥逻辑或的逻辑(A或B或C),而并不应当被理解为表示“A中的至少一个,B中的至少一个和C中的至少一个”。应当理解的是,方法内的一个或多个步骤可以以不同顺序(或同时)执行而并不背离本公开的原理。
在包括以下定义的本申请中,术语“模块”或术语“控制器”可以被术语“电路”所替代。术语“模块”可以指代、作为其一部分或者包括:专用集成电路(ASIC);数字、模拟或混合的模拟/数字分立电路;数字、模拟或混合的模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器电路(共享、专用或群组);存储由处理器电路所执行的代码的存储器电路(共享、专用或群组);提供所描述功能的其它适当硬件部件;或者诸如片上系统中以上的一些或全部的组合。
模块可以包括一个或多个接口电路。本公开的任何给定模块的功能可以在经由接口电路进行连接的多个模块之间进行分布,例如,多个模块可以允许负载平衡。
如以上所使用的,术语代码可以包括软件、固件和/或微代码,并且可以是指程序、例程、函数、类、数据结构和/或对象。术语共享处理器电路涵盖了执行来自多个模块的一些或全部代码的单个处理器电路。术语群组处理器电路涵盖了与另外的处理器电路进行组合而执行来自一个或多个模块的一些或全部代码的处理器电路。对多个处理器电路的指代涵盖了分立晶元上的多个处理器电路、单个晶元上的多个处理器电路、单个处理器电路的多个核、单个处理器电路的多个线程、或以上各项的组合。术语共享存储器电路涵盖了存储来自多个模块的一些或全部代码的单个存储器电路。术语群组存储器电路涵盖了与另外的存储器进行组合而存储来自一个或多个模块的一些或全部代码的存储器电路。
术语存储器电路是术语计算机可读介质的子集。如这里所使用的术语计算机可读介质并不涵盖通过介质传播(诸如在载波上)的瞬态的电或电磁信号;术语计算机可读介质因此可以被认为是有形且非瞬态的。非瞬态的有形计算机可读介质的非限制性示例包括非易失性存储器电路(诸如闪存电路或屏蔽只读存储器电路)、易失性存储器电路(诸如静态随机存取存储器电路和动态随机存取存储器电路),以及诸如磁性存储(诸如磁带或硬盘驱动器)和光学存储的辅助存储。
本申请中所描述的装置和方法可以部分或全部由专用计算机来实施,该专用计算机通过配置通用计算机来执行在计算机程序中实施的一个或多个特定功能来创建。计算机程序包括存储在至少一个非瞬态的有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于所存储的数据。计算机程序可以包括与专用计算机的硬件进行交互的基本输入/输出系统(BIOS),与专用计算机的特定设备进行交互的设备驱动器,一个或多个操作系统、用户应用、后台服务和应用,等等。
计算机程序可以包括:(i)汇编代码;(ii)由编译器从源代码所生成的目标代码;(iii)用于由解释器执行的源代码;(iv)用于由即时编译器进行编译和执行的源代码;(v)用于解析的描述性文本,诸如HTML(超文本标记语言)或XML(可扩展标记语言),等等。仅作为示例,源代码可以以C、C++、C#、Objective-C、Haskell、Go、SQL、Lisp、ASP、Perl、HTML5、Ada、ASP(活动服务器页面)、Perl、Scala、Erlang、Ruby、VisualLua或进行编写。
除非要素使用短语“用于…的部件”被明确陈述,或者在使用短语“用于…的操作”或“用于…的步骤”的方法权利要求的情况下,权利要求中所陈述的任何要素都并非意在作为35U.S.C.§112(f)的含义内的部件加功能(means-plus-function)的要素。
权利要求书(按照条约第19条的修改)
1.一种系统,包括:
读/写模块,其被配置为访问旋转存储设备的记录表面的第一部分,其中数据以第一密度被存储在所述旋转存储设备的所述记录表面的所述第一部分上;以及
高速缓存模块,其被配置为以第二密度将数据高速缓存在所述旋转存储设备的所述记录表面的第二部分上,
其中所述旋转存储设备的所述记录表面的所述第二部分与所述旋转存储设备的所述记录表面的所述第一部分分离,
其中所述第二密度小于所述第一密度;以及
其中所述第一密度和所述第二密度指示每轨道扇区数量或每扇区字节数量。
2.根据权利要求1所述的系统,其中:
所述旋转存储设备的所述记录表面的所述第二部分包括多个轨道,以及
所述多个轨道中的每个轨道中存储2N个高速缓存行,其中N是大于或等于0的整数。
3.根据权利要求2所述的系统,其中所述高速缓存行中的每个高速缓存行的大小大于或等于1兆字节。
4.根据权利要求1所述的系统,其中:
所述旋转存储设备的所述记录表面的所述第一部分与所述旋转存储设备的内径相邻;以及
所述旋转存储设备的所述记录表面的所述第二部分与所述旋转存储设备的外径相邻。
5.根据权利要求1所述的系统,其中所述旋转存储设备的所述记录表面的所述第二部分具有比所述旋转存储设备的所述记录表面的所述第一部分更低的轨道密度。
6.根据权利要求1所述的系统,其中:
所述读/写模块被配置为使用第一记录格式,以所述第一密度将数据存储在所述旋转存储设备的所述记录表面的所述第一部分上;以及
所述高速缓存模块被配置为使用不同于所述第一记录格式的第二记录格式,以所述第二密度将数据高速缓存在所述旋转存储设备的所述记录表面的所述第二部分上。
7.根据权利要求1所述的系统,其中所述高速缓存模块包括最终级高速缓存模块,其被配置为:
从主机接收针对数据的请求,
针对对应于所述数据的条目查找散列表,以及
响应于在所述散列表中找到所述条目而从(i)所述旋转存储设备的所述记录表面的所述第二部分获取所述数据,或者响应于并未在所述散列表中找到所述条目而从(ii)所述旋转存储设备的所述记录表面的所述第一部分获取所述数据。
8.根据权利要求1所述的系统,进一步包括:
半导体存储器,
其中所述半导体存储器从由磁阻随机存取存储器、闪存和动态随机存取存储器所组成的群组中进行选择,以及
其中所述高速缓存模块被配置为
使用所述半导体存储器作为第一级(L1)高速缓存,以及
使用所述旋转存储设备的所述记录表面的所述第二部分作为第二级(L2)高速缓存。
9.根据权利要求1所述的系统,其中所述读/写模块被配置为在所述旋转存储设备的读取元件就位于多个轨道之一上之前,读取存储在所述旋转存储设备的所述记录表面的所述第二部分的所述多个轨道之一中的数据。
10.根据权利要求1所述的系统,其中所述高速缓存模块被配置为使用全集合关联高速缓存,将数据高速缓存在所述旋转存储设备的所述记录表面的所述第二部分上,所述系统进一步包括:
内容可寻址存储器,其被配置为存储对应于所述全集合关联高速缓存的散列表,
其中所述内容可寻址存储器使用动态随机存取存储器来实施。
11.根据权利要求1所述的系统,其中:
所述旋转存储设备包括硬盘驱动器;
所述硬盘驱动器包括一个或多个盘片;以及
所述硬盘驱动器被配置为使用叠瓦式磁性记录,以所述第一密度在所述盘片中的每一个盘片上存储大于或等于1太字节的数据。
12.根据权利要求1所述的系统,其中所述读/写模块被配置为:
在所述旋转存储设备的所述记录表面的所述第一部分上执行的每个写入操作之后,从所述旋转存储设备的所述记录表面的所述第一部分读取所述数据;以及
响应于在从所述旋转存储设备的所述记录表面的所述第一部分读取所述数据时检测到错误,将来自所述旋转存储设备的所述记录表面的所述第二部分的所述数据重新写入到所述旋转存储设备的所述记录表面的所述第一部分。
13.一种方法,包括:
以第一密度将数据存储在旋转存储设备的记录表面的第一部分上;以及
以第二密度将数据高速缓存在所述旋转存储设备的所述记录表面的第二部分上,
其中所述旋转存储设备的所述记录表面的所述第二部分与所述旋转存储设备的所述记录表面的所述第一部分分离,
其中所述第二密度小于所述第一密度;以及
其中所述第一密度和所述第二密度指示每轨道扇区数量或每扇区字节数量。
14.根据权利要求13所述的方法,进一步包括:
选择所述旋转存储设备的所述记录表面的所述第二部分上的多个轨道;以及
在所述多个轨道中的每个轨道中存储2N个高速缓存行,其中N是大于或等于0的整数。
15.根据权利要求14所述的方法,进一步包括选择等于或大于1兆字节的所述高速缓存行中的每个高速缓存行的大小。
16.根据权利要求13所述的方法,进一步包括:
选择与所述旋转存储设备的内径相邻的所述旋转存储设备的所述记录表面的所述第一部分;以及
选择与所述旋转存储设备的外径相邻的所述旋转存储设备的所述记录表面的所述第二部分。
17.根据权利要求13所述的方法,进一步包括:选择具有比所述旋转存储设备的所述记录表面的所述第一部分更低的轨道密度的所述旋转存储设备的所述记录表面的所述第二部分。
18.根据权利要求13所述的方法,进一步包括:
使用第一记录格式,以所述第一密度将数据存储在所述旋转存储设备的所述记录表面的所述第一部分上;以及
使用不同于所述第一记录格式的第二记录格式,以所述第二密度将数据高速缓存在所述旋转存储设备的所述记录表面的所述第二部分上。
19.根据权利要求13所述的方法,进一步包括:
从主机接收针对数据的请求;
针对对应于所述数据的条目查找散列表;以及
响应于在所述散列表中找到所述条目而从(i)所述旋转存储设备的所述记录表面的所述第二部分获取所述数据,或者响应于并未在所述散列表中找到所述条目而从(ii)所述旋转存储设备的所述记录表面的所述第一部分获取所述数据。
20.根据权利要求13所述的方法,进一步包括:
从由磁阻随机存取存储器、闪存和动态随机存取存储器所组成的群组中选择半导体存储器;
使用所述半导体存储器作为第一级(L1)高速缓存;以及
使用所述旋转存储设备的所述记录表面的所述第二部分作为第二级(L2)高速缓存。
21.根据权利要求13所述的方法,进一步包括:在所述旋转存储设备的读取元件就位于多个轨道之一上之前,读取存储在所述旋转存储设备的所述记录表面的所述第二部分的所述多个轨道之一中的数据。
22.根据权利要求13所述的方法,进一步包括:
使用全集合关联高速缓存,将数据高速缓存在所述旋转存储设备的所述记录表面的所述第二部分上;
在内容可寻址存储器中存储对应于所述全集合关联高速缓存的散列表;以及
使用动态随机存取存储器来实施所述内容可寻址存储器。
23.根据权利要求13所述的方法,其中所述旋转存储设备包括具有一个或多个盘片的硬盘驱动器,并且所述方法进一步包括:使用叠瓦式磁性记录在所述硬盘驱动器的每个盘片上存储大于或等于1太字节的数据。
24.根据权利要求13所述的方法,进一步包括:
在所述旋转存储设备的所述记录表面的所述第一部分上执行的每个写入操作之后,从所述旋转存储设备的所述记录表面的所述第一部分读取所述数据;以及
响应于在从所述旋转存储设备的所述记录表面的所述第一部分读取所述数据时检测到错误,将来自所述旋转存储设备的所述记录表面的所述第二部分的数据重新写入到所述旋转存储设备的所述记录表面的所述第一部分。

Claims (24)

1.一种系统,包括:
读/写模块,其被配置为访问旋转存储设备的记录表面的第一部分,其中数据以第一密度被存储在所述旋转存储设备的所述记录表面的所述第一部分上;以及
高速缓存模块,其被配置为以第二密度将数据高速缓存在所述旋转存储设备的所述记录表面的第二部分上,
其中所述旋转存储设备的所述记录表面的所述第二部分与所述旋转存储设备的所述记录表面的所述第一部分分离,以及
其中所述第二密度小于所述第一密度。
2.根据权利要求1所述的系统,其中:
所述旋转存储设备的所述记录表面的所述第二部分包括多个轨道,以及
所述多个轨道中的每个轨道中存储2N个高速缓存行,其中N是大于或等于0的整数。
3.根据权利要求2所述的系统,其中所述高速缓存行中的每个高速缓存行的大小大于或等于1兆字节。
4.根据权利要求1所述的系统,其中:
所述旋转存储设备的所述记录表面的所述第一部分与所述旋转存储设备的内径相邻;以及
所述旋转存储设备的所述记录表面的所述第二部分与所述旋转存储设备的外径相邻。
5.根据权利要求1所述的系统,其中所述旋转存储设备的所述记录表面的所述第二部分具有比所述旋转存储设备的所述记录表面的所述第一部分更低的轨道密度。
6.根据权利要求1所述的系统,其中:
所述读/写模块被配置为使用第一记录格式,以所述第一密度将数据存储在所述旋转存储设备的所述记录表面的所述第一部分上;以及
所述高速缓存模块被配置为使用不同于所述第一记录格式的第二记录格式,以所述第二密度将数据高速缓存在所述旋转存储设备的所述记录表面的所述第二部分上。
7.根据权利要求1所述的系统,其中所述高速缓存模块包括最终级高速缓存模块,其被配置为:
从主机接收针对数据的请求,
针对对应于所述数据的条目查找散列表,以及
响应于在所述散列表中找到所述条目而从(i)所述旋转存储设备的所述记录表面的所述第二部分获取所述数据,或者响应于并未在所述散列表中找到所述条目而从(ii)所述旋转存储设备的所述记录表面的所述第一部分获取所述数据。
8.根据权利要求1所述的系统,进一步包括:
半导体存储器,
其中所述半导体存储器从由磁阻随机存取存储器、闪存和动态随机存取存储器所组成的群组中进行选择,以及
其中所述高速缓存模块被配置为
使用所述半导体存储器作为第一级(L1)高速缓存,以及
使用所述旋转存储设备的所述记录表面的所述第二部分作为第二级(L2)高速缓存。
9.根据权利要求1所述的系统,其中所述读/写模块被配置为在所述旋转存储设备的读取元件就位于多个轨道之一上之前,读取存储在所述旋转存储设备的所述记录表面的所述第二部分的所述多个轨道之一中的数据。
10.根据权利要求1所述的系统,其中所述高速缓存模块被配置为使用全集合关联高速缓存,将数据高速缓存在所述旋转存储设备的所述记录表面的所述第二部分上,所述系统进一步包括:
内容可寻址存储器,其被配置为存储对应于所述全集合关联高速缓存的散列表,
其中所述内容可寻址存储器使用动态随机存取存储器来实施。
11.根据权利要求1所述的系统,其中:
所述旋转存储设备包括硬盘驱动器;
所述硬盘驱动器包括一个或多个盘片;以及
所述硬盘驱动器被配置为使用叠瓦式磁性记录,以所述第一密度在所述盘片中的每一个盘片上存储大于或等于1太字节的数据。
12.根据权利要求1所述的系统,其中所述读/写模块被配置为:
在所述旋转存储设备的所述记录表面的所述第一部分上执行的每个写入操作之后,从所述旋转存储设备的所述记录表面的所述第一部分读取所述数据;以及
响应于在从所述旋转存储设备的所述记录表面的所述第一部分读取所述数据时检测到错误,将来自所述旋转存储设备的所述记录表面的所述第二部分的所述数据重新写入到所述旋转存储设备的所述记录表面的所述第一部分。
13.一种方法,包括:
以第一密度将数据存储在旋转存储设备的记录表面的第一部分上;以及
以第二密度将数据高速缓存在所述旋转存储设备的所述记录表面的第二部分上,
其中所述旋转存储设备的所述记录表面的所述第二部分与所述旋转存储设备的所述记录表面的所述第一部分分离,以及
其中所述第二密度小于所述第一密度。
14.根据权利要求13所述的方法,进一步包括:
选择所述旋转存储设备的所述记录表面的所述第二部分上的多个轨道;以及
在所述多个轨道中的每个轨道中存储2N个高速缓存行,其中N是大于或等于0的整数。
15.根据权利要求14所述的方法,进一步包括选择等于或大于1兆字节的所述高速缓存行中的每个高速缓存行的大小。
16.根据权利要求13所述的方法,进一步包括:
选择与所述旋转存储设备的内径相邻的所述旋转存储设备的所述记录表面的所述第一部分;以及
选择与所述旋转存储设备的外径相邻的所述旋转存储设备的所述记录表面的所述第二部分。
17.根据权利要求13所述的方法,进一步包括:选择具有比所述旋转存储设备的所述记录表面的所述第一部分更低的轨道密度的所述旋转存储设备的所述记录表面的所述第二部分。
18.根据权利要求13所述的方法,进一步包括:
使用第一记录格式,以所述第一密度将数据存储在所述旋转存储设备的所述记录表面的所述第一部分上;以及
使用不同于所述第一记录格式的第二记录格式,以所述第二密度将数据高速缓存在所述旋转存储设备的所述记录表面的所述第二部分上。
19.根据权利要求13所述的方法,进一步包括:
从主机接收针对数据的请求;
针对对应于所述数据的条目查找散列表;以及
响应于在所述散列表中找到所述条目而从(i)所述旋转存储设备的所述记录表面的所述第二部分获取所述数据,或者响应于并未在所述散列表中找到所述条目而从(ii)所述旋转存储设备的所述记录表面的所述第一部分获取所述数据。
20.根据权利要求13所述的方法,进一步包括:
从由磁阻随机存取存储器、闪存和动态随机存取存储器所组成的群组中选择半导体存储器;
使用所述半导体存储器作为第一级(L1)高速缓存;以及
使用所述旋转存储设备的所述记录表面的所述第二部分作为第二级(L2)高速缓存。
21.根据权利要求13所述的方法,进一步包括:在所述旋转存储设备的读取元件就位于多个轨道之一上之前,读取存储在所述旋转存储设备的所述记录表面的所述第二部分的所述多个轨道之一中的数据。
22.根据权利要求13所述的方法,进一步包括:
使用全集合关联高速缓存,将数据高速缓存在所述旋转存储设备的所述记录表面的所述第二部分上;
在内容可寻址存储器中存储对应于所述全集合关联高速缓存的散列表;以及
使用动态随机存取存储器来实施所述内容可寻址存储器。
23.根据权利要求13所述的方法,其中所述旋转存储设备包括具有一个或多个盘片的硬盘驱动器,并且所述方法进一步包括:使用叠瓦式磁性记录在所述硬盘驱动器的每个盘片上存储大于或等于1太字节的数据。
24.根据权利要求13所述的方法,进一步包括:
在所述旋转存储设备的所述记录表面的所述第一部分上执行的每个写入操作之后,从所述旋转存储设备的所述记录表面的所述第一部分读取所述数据;以及
响应于在从所述旋转存储设备的所述记录表面的所述第一部分读取所述数据时检测到错误,将来自所述旋转存储设备的所述记录表面的所述第二部分的数据重新写入到所述旋转存储设备的所述记录表面的所述第一部分。
CN201580022274.3A 2014-05-02 2015-05-01 用于硬盘驱动器和混合驱动器的高速缓存系统和方法 Active CN106463145B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461987947P 2014-05-02 2014-05-02
US61/987,947 2014-05-02
PCT/US2015/028867 WO2015168609A1 (en) 2014-05-02 2015-05-01 Caching systems and methods for hard disk drives and hybrid drives

Publications (2)

Publication Number Publication Date
CN106463145A true CN106463145A (zh) 2017-02-22
CN106463145B CN106463145B (zh) 2019-08-30

Family

ID=54359394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580022274.3A Active CN106463145B (zh) 2014-05-02 2015-05-01 用于硬盘驱动器和混合驱动器的高速缓存系统和方法

Country Status (4)

Country Link
US (2) US10067687B2 (zh)
EP (1) EP3138099A1 (zh)
CN (1) CN106463145B (zh)
WO (1) WO2015168609A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111627468A (zh) * 2019-02-28 2020-09-04 株式会社东芝 磁盘装置以及写处理方法
CN112530465A (zh) * 2019-09-19 2021-03-19 株式会社东芝 磁盘装置以及写处理方法
CN112997161A (zh) * 2018-06-18 2021-06-18 Flc技术集团股份有限公司 将储存系统用作主存储器的方法和装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3060993B1 (en) 2013-10-21 2023-03-08 FLC Global, Ltd. Final level cache system and corresponding method
US11822474B2 (en) 2013-10-21 2023-11-21 Flc Global, Ltd Storage system and method for accessing same
US10528474B2 (en) * 2017-09-06 2020-01-07 International Business Machines Corporation Pre-allocating cache resources for a range of tracks in anticipation of access requests to the range of tracks
US10936498B2 (en) * 2018-03-12 2021-03-02 Kabushiki Kaisha Toshiba Shingled magnetic recording drive that updates media cache data in-place
WO2020026036A1 (en) 2018-07-31 2020-02-06 Marvell World Trade Ltd. Metadata generation at the storage edge
TWI687921B (zh) * 2019-02-01 2020-03-11 宏碁股份有限公司 主機、疊瓦式磁記錄硬碟及其運作方法
US11422710B2 (en) * 2020-08-14 2022-08-23 Kabushiki Kaisha Toshiba Handling of verification data in disk drive cache

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833994A (zh) * 2009-03-11 2010-09-15 日立环球储存科技荷兰有限公司 使用数据存储装置在高速缓存存储器中存储叠块的技术
US7800856B1 (en) * 2009-03-24 2010-09-21 Western Digital Technologies, Inc. Disk drive flushing write cache to a nearest set of reserved tracks during a power failure
CN102999428A (zh) * 2012-11-01 2013-03-27 华中科技大学 一种瓦记录磁盘的四级编址方法
CN103514886A (zh) * 2012-06-14 2014-01-15 Hgst荷兰有限公司 对叠瓦式磁记录(smr)的动态磁道间距控制

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970705086A (ko) 1995-05-26 1997-09-06 존 엠. 클락3세 같은 클락 사이클 동안에 캐쉬 메모리와 외부 메모리 제어기로 메모리 요청을 하는 파이프라인 마이크로프로세서(A Pipelined Microprocessor that Makes Memory Requests to a Cache Memory and an external Memory Controller During the Same Clock Cycle)
US6378037B1 (en) * 1999-06-29 2002-04-23 International Business Machines Corporation Write-twice method of fail-safe write caching
US6795894B1 (en) 2000-08-08 2004-09-21 Hewlett-Packard Development Company, L.P. Fast disk cache writing system
US6978355B2 (en) 2001-11-13 2005-12-20 Seagate Technology Llc Cache memory transfer during a requested data retrieval operation
US7395495B2 (en) 2004-01-12 2008-07-01 Intel Corporation Method and apparatus for decoding forward error correction codes
US7165205B2 (en) 2004-05-14 2007-01-16 Motorola, Inc. Method and apparatus for encoding and decoding data
JP4673584B2 (ja) 2004-07-29 2011-04-20 富士通株式会社 キャッシュメモリ装置、演算処理装置及びキャッシュメモリ装置の制御方法
US7752521B2 (en) 2004-10-12 2010-07-06 Nortel Networks Limited Low density parity check (LDPC) code
US7996746B2 (en) 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US7783961B2 (en) 2005-07-01 2010-08-24 Nec Laboratories America, Inc. Rate-compatible low density parity check coding for hybrid ARQ
JP4160589B2 (ja) 2005-10-31 2008-10-01 富士通株式会社 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法
US8132072B2 (en) 2006-01-06 2012-03-06 Qualcomm Incorporated System and method for providing H-ARQ rate compatible codes for high throughput applications
US7930513B2 (en) 2006-11-04 2011-04-19 Virident Systems Inc. Writing to asymmetric memory
US8195878B2 (en) * 2009-02-19 2012-06-05 Pmc-Sierra, Inc. Hard disk drive with attached solid state drive cache
US8688897B2 (en) 2010-05-28 2014-04-01 International Business Machines Corporation Cache memory management in a flash cache architecture
US8599510B1 (en) 2011-05-04 2013-12-03 Western Digital Technologies, Inc. Disk drive adjusting data track density based on write condition when writing to contiguous data tracks
US8913335B2 (en) * 2011-05-23 2014-12-16 HGST Netherlands B.V. Storage device with shingled data and unshingled cache regions
US9223686B1 (en) * 2012-02-01 2015-12-29 Amazon Technologies, Inc. Cache memory data storage control system and method
SG193114A1 (en) * 2012-02-23 2013-09-30 Agency Science Tech & Res Data storage device and method of managing a cache in a data storage device
US8593748B1 (en) 2012-06-04 2013-11-26 HGST Netherlands B.V. Shingled magnetic recording disk drive with compensation for the effect of far track erasure (FTE) on adjacent data bands
US9559722B1 (en) 2013-10-21 2017-01-31 Marvell International Ltd. Network devices and methods of generating low-density parity-check codes and performing corresponding encoding of data
US9454991B2 (en) 2013-10-21 2016-09-27 Marvell World Trade Ltd. Caching systems and methods for hard disk drives and hybrid drives
EP3060993B1 (en) 2013-10-21 2023-03-08 FLC Global, Ltd. Final level cache system and corresponding method
JP2015210718A (ja) * 2014-04-28 2015-11-24 富士通株式会社 記憶制御装置、ストレージシステム、および記憶制御プログラム
WO2016001962A1 (ja) * 2014-06-30 2016-01-07 株式会社日立製作所 ストレージシステム及び記憶制御方法
US9129628B1 (en) 2014-10-23 2015-09-08 Western Digital Technologies, Inc. Data management for data storage device with different track density regions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833994A (zh) * 2009-03-11 2010-09-15 日立环球储存科技荷兰有限公司 使用数据存储装置在高速缓存存储器中存储叠块的技术
US7800856B1 (en) * 2009-03-24 2010-09-21 Western Digital Technologies, Inc. Disk drive flushing write cache to a nearest set of reserved tracks during a power failure
CN103514886A (zh) * 2012-06-14 2014-01-15 Hgst荷兰有限公司 对叠瓦式磁记录(smr)的动态磁道间距控制
CN102999428A (zh) * 2012-11-01 2013-03-27 华中科技大学 一种瓦记录磁盘的四级编址方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112997161A (zh) * 2018-06-18 2021-06-18 Flc技术集团股份有限公司 将储存系统用作主存储器的方法和装置
CN111627468A (zh) * 2019-02-28 2020-09-04 株式会社东芝 磁盘装置以及写处理方法
CN111627468B (zh) * 2019-02-28 2022-04-05 株式会社东芝 磁盘装置以及写处理方法
CN112530465A (zh) * 2019-09-19 2021-03-19 株式会社东芝 磁盘装置以及写处理方法
CN112530465B (zh) * 2019-09-19 2022-05-31 株式会社东芝 磁盘装置以及写处理方法

Also Published As

Publication number Publication date
WO2015168609A1 (en) 2015-11-05
US20180373442A1 (en) 2018-12-27
CN106463145B (zh) 2019-08-30
US20170344276A1 (en) 2017-11-30
US10067687B2 (en) 2018-09-04
EP3138099A1 (en) 2017-03-08
US10761737B2 (en) 2020-09-01

Similar Documents

Publication Publication Date Title
CN106463145A (zh) 用于硬盘驱动器和混合驱动器的高速缓存系统和方法
US9733841B2 (en) Caching systems and methods for hard disk drives and hybrid drives
US10248362B2 (en) Data management for a data storage device
US8959281B1 (en) Data management for a storage device
US10007431B2 (en) Storage devices configured to generate linked lists
US8307159B2 (en) System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair
CN107037976A (zh) 存储装置及其工作方法
KR20140067819A (ko) 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템
CN107391027A (zh) 廉价磁盘冗余阵列存储设备及其管理方法
US20120102261A1 (en) Systems and Methods for Tiered Non-Volatile Storage
US9594628B2 (en) Operational vibration compensation through media cache management
US20110047322A1 (en) Methods, systems and devices for increasing data retention on solid-state mass storage devices
US10223277B2 (en) SMR drive with multi-level write-cache for high random-write performance
US20160077962A1 (en) Hybrid-hdd policy for what host-r/w data goes into nand
US8862856B2 (en) Implementing remapping command with indirection update for indirected storage
US20210216470A1 (en) Logical to virtual and virtual to physical translation in storage class memory
US9047923B1 (en) Fast shingled tracks recording
CN104137082A (zh) 使用写入-写入模式向第二块大小写入第一块大小的新数据
CN107402890A (zh) 一种基于固态盘阵列和缓存的数据处理方法及系统
US7266732B2 (en) MRAM with controller
US20140129788A1 (en) High-performance large scale semiconductor storage module with hybrid technology
JP2015170202A (ja) キャッシュメモリおよびプロセッサシステム
US20180181303A1 (en) Data storage device including temporary storage locations
Le et al. SMR disks for mass storage systems
CN103064640A (zh) 应用于nandflash存储设备的快速读写方法

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right

Effective date of registration: 20200429

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200429

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200429

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.

TR01 Transfer of patent right