IP Library Granted Patent US 12,640,165
Granted Patent B2
US 12,640,165 · App. 18/769,628 · Granted May 26, 2026

Handling write commands during a refresh operation in a shingled magnetic recording drive

Inventors: Kurt Michael Rusnak (Dublin, CA); Fernando A. Zayas (Rangiora, NZ); Richard M. Ehrlich (Edina, MN)
Assignees: Kabushiki Kaisha Toshiba; Toshiba Electronic Devices & Storage Corporation
G11B5/012G11B5/024G11B5/0275G11B2220/216G11B2220/235
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,640,165
App. No.
18/769,628
Granted
May 26, 2026
Kind
B2
Abstract

Write commands in a shingled magnetic recording (SMR) drive are efficiently executed when a write command and associated write data are received by an SMR HDD from a host while the target SMR band for storing the write data is undergoing a refresh operation. In response to the write command, the HDD suspends the refresh operation, stores the write data in nonvolatile memory, and informs the host that the write command has been completed. After the write data are stored in nonvolatile memory, the HDD resumes the refresh operation, and the remaining unrefreshed data in the target SMR band are refreshed by being rewritten to the spare SMR band. The nonvolatile memory can include the spare SMR band in some instances, the target SMR band in some instances, and in both the spare SMR band and the target SMR band in some instances.

Claims (45)

1 . A method of storing data in a magnetic disk drive with a shingled magnetic recording (SMR) region that includes a plurality of SMR bands, the method comprising:

starting a refresh operation for a first SMR band in the plurality of SMR bands, wherein the refresh operation includes reading host data from the first SMR band and writing the host data from the first SMR band to a second SMR band in the plurality of SMR bands;

while performing the refresh operation, receiving a write command from a host that references a logical block address (LBA) range associated with the first SMR band and includes write data for the LBA range;

in response to receiving the write command, suspending the refresh operation;

while the refresh operation is suspended, storing the write data for the LBA range in at least one of the first SMR band and the second SMR band; and

after storing the write data for the LBA range, resuming the refresh operation.

2 . The method of claim 1 , further comprising, prior to storing the write data for the LBA range in at least one of the first SMR band and the second SMR band, storing the write data in a protected solid-state memory included in the magnetic disk drive.

3 . The method of claim 2 , wherein the protected solid-state memory comprises one of a non-volatile solid-state memory or a region of a volatile solid-state memory that is associated with a power-loss-protection circuit.

4 . The method of claim 3 , wherein storing the write data in the protected solid-state memory comprises adding memory locations in the region of the volatile solid-state memory that store the write data to a list of protected memory locations from which stored data are moved to the non-volatile memory in response to a power loss event.

5 . The method of claim 2 , wherein storing the write data for the LBA range in at least one of the first SMR band and the second SMR band comprises reading the write data from the protected solid-state memory.

6 . The method of claim 1 , further comprising determining that the LBA range is less than a flush-extent LBA for the refresh operation, wherein storing the write data for the LBA range in at least one of the first SMR band and the second SMR band comprises storing the write data for the LBA range in the second SMR band.

7 . The method of claim 6 , wherein resuming the refresh operation comprises:

determining a new flush-extent LBA for the refresh operation that corresponds to the last LBA of the LBA range;

reading a remainder portion of the host data from the first SMR band, wherein the remainder portion begins at the new flush-extent LBA; and

writing the remainder portion to the second SMR band.

8 . The method of claim 1 , further comprising determining that the LBA range is greater than a flush-extent LBA for the refresh operation, wherein storing the write data for the LBA range in at least one of the first SMR band and the second SMR band comprises storing the write data for the LBA range in the first SMR band.

9 . The method of claim 8 , wherein resuming the refresh operation comprises:

reading a remainder portion of the write data from the first SMR band, wherein the remainder portion begins at the flush-extent LBA; and

writing the remainder portion to the second SMR band.

10 . The method of claim 9 , wherein the remainder portion includes the write data.

11 . The method of claim 1 , further comprising determining that a first portion of the LBA range is less than a flush-extent LBA for the refresh operation and a second portion of the LBA range is equal to or greater than the flush-extent LBA for the refresh operation, wherein storing the write data for the LBA range in at least one of the first SMR band and the second SMR band comprises storing a first portion of the write data that corresponds to the first portion of the LBA range in the second SMR band and storing a second portion of the write data that corresponds to the second portion of the LBA range in the first SMR band.

12 . The method of claim 11 , wherein resuming the refresh operation comprises:

reading a remainder portion of the host data from the first SMR band, wherein the remainder portion begins at the flush-extent LBA; and

writing the remainder portion to the second SMR band.

13 . The method of claim 12 wherein the remainder portion includes the second portion of the write data.

14 . The method of claim 1 , further comprising determining that a first portion of the LBA range is less than a flush-extent LBA for the refresh operation and a second portion of the LBA range is equal to or greater than the flush-extent LBA for the refresh operation, wherein storing the write data for the LBA range in at least one of the first SMR band and the second SMR band comprises storing a first portion of the write data that corresponds to the first portion of the LBA range in the second SMR band and storing a second portion of the write data that corresponds to the second portion of the LBA range in the second SMR band.

15 . The method of claim 1 , wherein resuming the refresh operation comprises:

determining a new flush-extent LBA for the refresh operation that corresponds to the last LBA of the second portion of the LBA range;

reading a remainder portion of the host data from the first SMR band, wherein the remainder portion begins at the new flush-extent LBA; and

writing the remainder portion to the second SMR band.

16 . The method of claim 1 , wherein resuming the refresh operation comprises:

reading a remainder portion of the host data from the first SMR band;

writing the remainder portion to the second SMR band; and

after writing the remainder portion to the second SMR band, invalidating data stored in the first SMR band.

17 . The method of claim 1 , wherein the second SMR band comprises a spare SMR band in the plurality of SMR bands.

18 . A magnetic disk drive, comprising:

a shingled magnetic recording region (SMR) that includes a plurality of SMR bands; and

a controller configured to perform the steps of:

starting a refresh operation for a first SMR band in the plurality of SMR bands, wherein the refresh operation includes reading host data from the first SMR band and writing the host data from the first SMR band to a second SMR band in the plurality of SMR bands;

while performing the refresh operation, receiving a write command from a host that references a logical block address (LBA) range associated with the first SMR band and includes write data for the LBA range;

in response to receiving the write command, suspending the refresh operation;

while the refresh operation is suspended, storing the write data for the LBA range in at least one of the first SMR band and the second SMR band; and

after storing the write data for the LBA range, resuming the refresh operation.

19 . The magnetic disk drive of claim 18 , wherein the controller is further configured to perform the step of determining that the LBA range is less than a flush-extent LBA for the refresh operation, wherein storing the write data for the LBA range in at least one of the first SMR band and the second SMR band comprises storing the write data for the LBA range in the second SMR band.

20 . The magnetic disk drive of claim 18 , wherein the controller is further configured to perform the step of determining that the LBA range is greater than a flush-extent LBA for the refresh operation, wherein storing the write data for the LBA range in at least one of the first SMR band and the second SMR band comprises storing the write data for the LBA range in the first SMR band.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2024
From: RUSNAK, KURT MICHAEL; ZAYAS, FERNANDO A.; EHRLICH, RICHARD M.
To: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
Reel/Frame 068837/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2024
From: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
To: KABUSHIKI KAISHA TOSHIBA; TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION
Reel/Frame 068837/0786 →
Continuity (1)
Related Publication 20260018186A1 · Jan 15, 2026
References Cited (25)
US 6996666B2 · Sasaki · 2006 [cited by examiner]
US 7129749B1 · Fenstermaker · 2006 [cited by examiner]
US 8665545B2 · Coker · 2014 [cited by examiner]
US 8706985B1 · Boyle · 2014 [cited by applicant]
US 9268709B2 · Xi · 2016 [cited by applicant]
US 9383923B1 · Malina · 2016 [cited by applicant]
US 9978417B1 · Qiang · 2018 [cited by examiner]
US 10102145B1 · Michel · 2018 [cited by examiner]
US 10204054B2 · Tan · 2019 [cited by examiner]
US 10416560B2 · Matsumoto · 2019 [cited by examiner]
US 10770111B1 · Zayas · 2020 [cited by examiner]
US 10872622B1 · Li · 2020 [cited by examiner]
US 11024337B1 · Aoki · 2021 [cited by examiner]
US 20100165502A1 · Iketaki · 2010 [cited by examiner]
US 20100188914A1 · Ahn · 2010 [cited by examiner]
US 20120072660A1 · Lin · 2012 [cited by examiner]
US 20150113201A1 · Kong · 2015 [cited by examiner]
US 20150121088A1 · Baryudin · 2015 [cited by examiner]
US 20150378964A1 · Chanda · 2015 [cited by examiner]
US 20160343400A1 · Kojima · 2016 [cited by examiner]
US 20180260332A1 · Dunn · 2018 [cited by examiner]
US 20190278711A1 · Schmidt · 2019 [cited by examiner]
US 20200279577A1 · Tomoda · 2020 [cited by examiner]
US 20210182190A1 · Gao · 2021 [cited by examiner]
US 20210280215A1 · Fukawa · 2021 [cited by examiner]