Uploaded by 劉孟昌

Skyrmion Vault Maximizing Skyrmion Lifespan for Enabling Low-Power Skyrmion Racetrack Memory

advertisement
Skyrmion Vault: Maximizing Skyrmion Lifespan for Enabling
Low-Power Skyrmion Racetrack Memory
Syue-Wei Lu
Shuo-Han Chen∗
Yu-Pei Liang
National Tsing Hua University
Taiwan
National Taipei Univ. of Tech.
Taiwan
National Chung Cheng University
Taiwan
Yuan-Hao Chang
Kang Wang
Tseng-Yi Chen
Academia Sinica
Taiwan
Beihang University
China
National Central University
Taiwan
Wei-Kuan Shih
National Tsing Hua University
Taiwan
ABSTRACT
Skyrmion racetrack memory (SK-RM) has demonstrated great potential as a high-density and low-cost nonvolatile memory. Nevertheless,
even though random data accesses are supported on SK-RM, data
accesses can not be carried out on individual data bit directly. Instead,
special skyrmion manipulations, such as injecting and shifting, are
required to support random information update and deletion. With
such special manipulations, the latency and energy consumption
of skyrmion manipulations could quickly accumulate and induce
additional overhead on the data read/write path of SK-RM. Meanwhile, injection operation consumes more energy and has higher
latency than any other manipulations. Although prior arts have tried
to alleviate the overhead of skyrmion manipulations, the possibility of minimizing injections through buffering skyrmions for future
reuse and energy conservation receives much less attention. Such
observation motivates us to propose the concept of skyrmion vault to
effectively utilize the skyrmion buffer track structure for energy conservation through maximizing the lifespan of injected skyrmions and
minimizing the number of skyrmion injections. Experimental results
have shown promising improvements in both energy consumption
and skyrmions’ lifespan.
CCS CONCEPTS
• Computer systems organization → Embedded systems; • Hardware → Emerging technologies.
KEYWORDS
skyrmion racetrack memory, SK-RM, lifespan
ACM Reference Format:
Syue-Wei Lu, Shuo-Han Chen, Yu-Pei Liang, Yuan-Hao Chang, Kang Wang,
Tseng-Yi Chen, and Wei-Kuan Shih. 2023. Skyrmion Vault: Maximizing Skyrmion
∗ Corresponding
authors
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full citation
on the first page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specific permission and/or a
fee. Request permissions from permissions@acm.org.
ASPDAC ’23, January 16–19, 2023, Tokyo, Japan
© 2023 Association for Computing Machinery.
ACM ISBN 978-1-4503-9783-4/23/01. . . $15.00
https://doi.org/10.1145/3566097.3567852
Lifespan for Enabling Low-Power Skyrmion Racetrack Memory. In 28th Asia
and South Pacific Design Automation Conference (ASPDAC ’23), January 16–19,
2023, Tokyo, Japan. ACM, New York, NY, USA, 6 pages. https://doi.org/10.1145/
3566097.3567852
1
INTRODUCTION
With the evolving technology trend, skyrmion racetrack memory (SKRM) [10, 12] has shown great potential with its high storage density
and efficient read/write operations. SK-RM utilizes skyrmions, topologically protected particle-like magnetization entities, as information
carriers to store data. Random data updates and removals are feasible
on SK-RM through shifting or injecting skyrmions. Notably, since the
energy consumption and latency of injecting skyrmions are higher
than other skyrmion manipulations (i.e., detect, shift, remove), the
ability of preserving already-injected skyrmions to compose different
data patterns over multiple data updates are key to the performance
enhancement and energy conservation of SK-RM. Even though the
structure of skyrmion buffer track has been proposed to temporarily
store unused skyrmions, the lack of a proper and buffer-track-aware
management strategy can not fully exploit the benefits of skyrmion
buffer tracks to buffer injected skyrmions. Therefore, in this study, the
concept of skyrmion vault is first proposed to jointly manage injected
skyrmions on both racetracks and buffer tracks. To realize this concept, the skyrmion vault racetrack memory (SKv-RM) is designed to
reconsider skyrmion manipulations with the buffer track awareness.
The technical difficulty of the proposed SKv-RM lies in how to properly
cache skyrmions and maximize the lifespan of injected skyrmions for
minimizing the energy consumed by injecting and shifting skyrmions.
Racetrack memory (RM) has comparable storage density to hard
disk drives (HDDs) and similar access performance to dynamic random access memory (DRAM). Therefore, RM is regarded as a promising nonvolatile memory (NVM) for replacing existing volatile DRAM
and HDDs while preserving similar performance and density. Domainwall racetrack memory (DW-RM), which is demonstrated by IBM [11],
is regarded as the first generation of RM. DW-RM stores information
through a train of magnetic domains and separates each magnetic
domain with domain walls for isolation. Challenges of DW-RM include the technical difficulties in shrinking DW size and the energy
efficiency issue due to its high shifting current [2]. These issues can be
resolved with a newer generation of RM, namely skyrmion racetrack
memory (SK-RM). SK-RM utilizes the magnetic skyrmions to store
data bits and can achieve better energy efficiency with its lower shift
current. However, data bits of RM can only be detected and inserted
333
Authorized licensed use limited to: National Yang Ming Chiao Tung University. Downloaded on September 12,2023 at 05:59:34 UTC from IEEE Xplore. Restrictions apply.
ASPDAC ’23, January 16–19, 2023, Tokyo, Japan
Chen et al.
at access ports of the racetrack for read and write operations. Consequently, the read/write latency becomes unpredictable since data
bits need to be shifted to access ports for reading or writing and the
distance between the access port and data bits also varies. Another
aspect that needs to be considered is that injecting skyrmions on
SK-RM induces higher energy consumption and latency than other
skyrmion manipulations. To avoid above undesirable aspects of SKRM, studies have been proposed to reduce the number of shift or inject
manipulations from different perspectives. For instance, data layout
configuration strategies [4, 9] have been proposed to analyze the data
access pattern and configure the data layout on RM for minimal shift
overhead. Meanwhile, Hsieh et al. [5] try to optimize sorting algorithm to resolve the random-hopping phenomenon for better sorting
performance on SK-RM. More recently, the Permutation-Write strategy [15] avoids new skyrmion injections via re-permuting injected
skyrmions in last data write to compose the data pattern of new write
requests. However, under Permutation-Write strategy, skyrmions still
need to be injected or removed when the number of skyrmions is not
identical between two consecutive data writes. Apart from data layout
configurations or data update strategies, the structure of skyrmion
buffer track has been introduced to attach an additional nanotrack
onto the access ports of SK-RM for preserving unused skyrmions.
During information insert/delete/update, skyrmions can be moved
into or out of the buffer tracks. In other words, skyrmions can be
reused over multiple data writes without removal. Nevertheless, to
the best of our knowledge, few previous designs have considered
using buffer tracks for alleviating the insertion or shift overhead.
To fully exploit the benefits of skyrmion buffer tracks, the study
proposes skyrmion vault to preserve injected skyrmions for future
reuse. The proposed concept is realized by skyrmion vault racetrack
memory (SKv-RM) with a set of new word-based manipulations that
are redesigned with buffer track awareness. The design goal of SKvRM is to maximize the lifespan of skyrmions with minimal injections
(See Section 3.2) for energy conservation and performance enhancement. Meanwhile, an over-shifting prevention scheme is included
to avoid overshifting skyrmions at the ends of racetracks under dynamic lazy shift scheme [14] (See Section 3.3). When compared with
conventional SK-RM, the experimental results show the proposed
SKv-RM can reduce energy consumption by up to 56.8%.
The rest of this paper is organized as follows. Section 2 describes
the background of SK-RM and research motivation. Section 3 describes the proposed SKv-RM. Section 4 then evaluates the performance of SKv-RM. Finally, Section 5 concludes this paper with research remarks.
2 BACKGROUND AND MOTIVATION
2.1 Skyrmion Racetrack Memory
Skyrmions, which are vortex-like swirling topologically stable spin
configurations, are regarded as great information carriers owing to
its stability, small size, and ultra-low shift current density. Based on
skyrmions, skyrmion racetrack memory (SK-RM) relies on the presence or absence of skyrmions on the racetrack to represent data bits
1 and 0. Racetracks, also known as nanotracks, have the thickness of
0.4nm with Pt/Co thin films [13] and allow skyrmions to reside on it
for representing different data patterns. Skyrmions on racetracks can
be detected/injected/removed through access ports that are attached
to racetracks. The combination of a racetrack and access ports can
be considered the basic unit of SK-RM. A racetrack typically consists
of 512 bits to 2048 bits [8]. The number of access ports and distance
between each access port, namely inter-port distance, are configured
according to the physical layout of SK-RM. The structure and manipulations of SK-RM can be summarized in Figure 1 and please note that
control circuits are excluded for better presentation of the skyrmion
structure.
!
#
"
!
Figure 1: Structure and manipulations of SK-RM [6], in which current
can be applied at the both ends of access ports and the racetrack for
manuplicating skyrmions.
Figure 1(a) first shows the structure of a skyrmion cell, which
is composed of 9 bit zones and 4 access ports. At both ends of the
racetrack, overhead regions are included for temporarily holding
skyrmions when skyrmions are shifted beyond the leftmost and rightmost access ports. Notably, the interport distance is usually larger
than 3 bits, as shown in this example, in practice to lower physical
layout size (i.e., 64 to 128 bits) . Figure 1(b) details the component
at the intersecting region of access ports and the racetrack. A detector is installed at the intersection region to determine whether a
skyrmion exists at the intersecting bit zone for reading the stored
bits on the racetrack. On the other hand, writing the data bit 1 or 0
can be achieved by skyrmion injection with the injector. As shown
in Figure 1(c), if the value of the data bit is 1, the injector generates a
skyrmion, and the injection current, J𝑖𝑛 𝑗𝑒𝑐𝑡 , is applied to the bottom
of access ports for shifting the skyrmion into the intersecting bit zone.
If the value of the data bit is 0, there is no need for injection since
the absence of skyrmions represents data bit 0, which is known as
nonskyrmion. Meanwhile, the removal of skyrmions can be achieved
by applying current J𝑟𝑒𝑚𝑜𝑣𝑒 from bottom to Top for deleting a data
bit from the racetrack, as shown in Figure 1(d). Finally, the shift operation is demonstrated in Figure 1(e), in which the shift current J𝑠ℎ𝑖 𝑓 𝑡
can be applied from Head or Top to either end of the access ports or
racetrack and vice versa to right-shift or left-shift all skyrmions on
the racetrack at the same time.
Notably, as skyrmions can only be detected or injected at the access
ports, the energy efficiency and performance of SK-RM greatly depend on the number of access ports. Although increasing the number
of access ports can alleviate the shift overhead, the cost and storage
density of SK-RM could be affected due to growing number of access
ports. As a result, the number of access ports is a trade-off between
shift overhead and cost. Based on limited number of access ports,
numerous studies [4, 9] have been proposed to alleviate the overhead
of shift manipulations through configuring data layout. Meanwhile,
334
Authorized licensed use limited to: National Yang Ming Chiao Tung University. Downloaded on September 12,2023 at 05:59:34 UTC from IEEE Xplore. Restrictions apply.
Skyrmion Vault: Maximizing Skyrmion Lifespan for Enabling Low-Power Skyrmion Racetrack Memory
as the injection operation consumes more energy than the shift operation, different data write strategies have been proposed. For instance,
the Permutation-Write strategy [15] has demonstrated forming the
data pattern of the next data write requests through re-permuting
existing skyrmions. However, skyrmions still need to be removed or
injected when the number of data bit 1 is not identical between two
conjunctive write requests. In other words, as unused skyrmions are
removed and new skyrmions are injected between data writes, the
lifespan of injected skyrmions is still restricted and additional overhead
is induced during both inserting and removing skyrmions.
2.2
Motivation
To better illustrate the issue of previous Permutation-Write strategy [15] on alleviating the injection overhead of SK-RM, a motivational example is included in Figure 2. As illustrated in the example,
the prior strategy relies on the overhead region for temporarily holding skyrmions, which are used to represent previous data patterns,
via right-shit manipulations. Then, based on the updated data pattern,
those skyrmions are reassembled through left-shift manipulations to
represent the updated data pattern. During left-shifting, if the data bit
is 0, nonskyrmion is generated at the access port, and no skyrmions
will be left-shifted. At the end of left-shifting, those unused skyrmions
are removed because overhead regions are mainly used to prevent
skyrmions from shifting out of the end of racetracks during data read
requests, and no skyrmions can be stored on overhead regions. On
the other hand, if the number of data bits 1 in the updated data is
larger than that of the previous data pattern, skyrmions still need to
be injected for representing data bits 1. In other words, if the number
of data bits 1 is inconsistent between continuous data writes, injected
skyrmions can not be preserved and still consumes energy due to
injection or removal manipulations. When number of different data
bits 1 increases, the injections and removals overhead becomes larger.
'( & !
ϭϭϭ
) !
ϬϬϭ
%
&
&
&
ϬϬϭ
* Figure 2: Motivational example, which shows that reassembling
skyrmions through overhead regions removes skyrmions if the number of data bit 1 is different between two continuous write requests.
Recently, with the goal of lowering the number of skyrmion injections, skyrmion buffer tracks have been designed to temporarily cache
unused skyrmions on the access ports for future reuse. As shown in
Figure 3, skyrmion buffer tracks are additional nanotracks that are attached to the access ports for temporarily caching skyrmions. During
removing skyrmions, those skyrmions can be shifted onto skyrmion
buffer tracks for future reuse. On the other head, when additional
skyrmions are required on racetracks for representing data bits 1,
skyrmions can be released from buffer tracks and shifted back to racetracks. However, the lack of a well-designed and buffer-track-aware
management strategy prevents existing SK-RMs from fully exploiting the benefits of skyrmion buffer tracks. To extend the lifespan
of injected skyrmions for energy conservation, the major technical
problem is how to find an efficient method for preserving skyrmions
ASPDAC ’23, January 16–19, 2023, Tokyo, Japan
over multiple write requests while alleviating the overhead of both shift
and injection operations.
!" " " " " Figure 3: Structure of skyrmion buffer tracks, which can be viewed as
additional nanotracks attached on access ports for caching skyrmions.
3 SKYRMION VAULT RACETRACK MEMORY
3.1 Overview
To extend the lifespan of injected skyrmions, this study first presents
the concept of skyrmion vault to preserve injected skyrmions on
buffer tracks that are attached to access ports of SK-RM. Based on
the structure of buffer tracks, the skyrmions vault racetrack memory
(SKv-RM) is proposed to reconsider the skyrmion manipulations
with the capability of buffering skyrmions at each access port. The
feasibility of fabricating skyrmion buffer tracks can be elaborated
from the following perspectives. To begin with, the ability of shifting
skyrmions over access ports between two adjacent nanotracks is
the underlying fundament of buffer tracks structure. According to
previous studies [7, 16], moving skyrmions between two adjacent
nanotracks has been proposed and conducted. In addition, Gnoli et
al. [3] has demonstrated complex Logic-In-Memory (LIM) operations
of manipulating skyrmions for logic computation on nanotracks.
Therefore, moving skyrmions onto buffer tracks through access ports
for buffering skyrmions is feasible.
Meanwhile, including additional tracks with SK-RM will not induce
excessive area overhead because nanotracks are fabricated through
a few layers of films with 0.4nm thickness. In addition, as shown
in Figure 4, nanotracks are much smaller than the CMOS used for
shifting and detecting skyrmions [8]. Moreover, this design will not
increase the process complexity since nanotracks are composed of a
few layers of films and can be made through single photolithography.
Finally, as the main purpose of skyrmion buffer tracks is to reduce
skyrmion injections from the device level, the power consumption
can actually be reduced by the lowered amount of skyrmion injections
and data transfers. In summary, introducing buffer tracks on SK-RM
is feasible from the point of view of the area, manufacturing process,
and energy consumption. The missing element for fully exploiting the
benefits of skyrmion buffer tracks is a set of skyrmion manipulations
that consider buffer tracks for reducing energy consumption and
enhancing access performance.
+,
+,
- +,. Figure 4: Size comparison between shift/access MOS and nanotracks [8]. The size difference demonstrates that adding new nanotracks for buffering skyrmions will not induce excessive overhead as
nanotracks are small.
335
Authorized licensed use limited to: National Yang Ming Chiao Tung University. Downloaded on September 12,2023 at 05:59:34 UTC from IEEE Xplore. Restrictions apply.
ASPDAC ’23, January 16–19, 2023, Tokyo, Japan
3.2
Chen et al.
Operations of SKv-RM
Algorithm 2: SKv-RM operations (cond’t).
To design SKv-RM manipulations with buffer track awareness, this
paper considers the multi-word-based structure to store data with the
unit of a word (i.e., 32 or 64 bits) and makes multiple words to share
an access port for detecting and injecting skyrmions. In other words,
multiple words are placed between two access ports. The unit of a
word is regarded as the smallest unit when addressing data, and the
data stored on SKv-RM is addressed by word address. Notably, the
word unit is chosen as the basic unit in the proposed SKv-RM because
most modern processors also access the memory content in the unit
of a word. Under the multi-word-based structure, manipulations of
SKv-RM are designed to manipulate a word at a time through the
basic detect/insert/remove/shift operations.
1
2
3
4
5
6
7
8
9
10
11
12
13
Algorithm 1: SKv-RM operations.
Input: 𝑂𝑝𝑟 ., 𝑁𝑢𝑚𝑃 , 𝑆𝑖𝑧𝑒𝐵 , 𝐷𝑎𝑡𝑎𝑏𝑢 𝑓 , 𝐴𝑑𝑑𝑟 𝐷 , 𝑆𝑖𝑧𝑒𝐷 ,
𝑃𝑂𝑆 [0...𝑃 − 1], 𝐵𝑈 𝐹 [0...𝑃 − 1]
1 leftmost_end ← 𝑃𝑂𝑆 [0] - 𝑆𝑖𝑧𝑒𝑂 ;
2 rightmost_end ← 𝑃𝑂𝑆 [𝑃 − 1] + 𝑆𝑖𝑧𝑒𝑂 ;
3 closest_port ← the closest port in 𝑃𝑂𝑆 [0...𝑃 − 1] to 𝐴𝑑𝑑𝑟 𝐷 ;
4 shift_distance ← the address difference between 𝐴𝑑𝑑𝑟 𝐷 and
closest_port;
5 shift_distance ← prevent_overshift(𝑃𝑛𝑢𝑚 , 𝑃𝑂𝑆 [0...𝑃 − 1],
𝐴𝑑𝑑𝑟 𝐷 , shift_distance, leftmost_end, rightmost_end);
6 Shift skyrmions left/right for shift_distance steps;
7 Update 𝑃𝑂𝑆 [0...𝑃 − 1] accordingly;
8 if 𝑂𝑝𝑟 . == Read then
9
Initialize 𝐷𝑎𝑡𝑎𝑏𝑢 𝑓 for i = 1:N do
10
𝐷𝑎𝑡𝑎𝑏𝑢 𝑓 [𝑖] ← bit that been detected ;
11
Shift left/right 1 step ;
12
end
13
Update 𝑃𝑂𝑆 [0...𝑃 − 1] accordingly;
14 else if 𝑂𝑝𝑟 . == Write then
15
for i = 1:N do
16
if 𝐷𝑎𝑡𝑎𝑏𝑢 𝑓 [𝑖] == 0 then
17
Shift left/right to create nonskyrmion;
18
else
19
if BUF[closest_port] > 0 then
20
Shift from buffer track for insertion;
21
BUF[closest_port] -= 1;
22
else
23
Inject from closest_port then Shift;
24
end
25
end
26
end
27 else if 𝑂𝑝𝑟 . == Delete then
28
for i = 1:N do
29
delete_bit ← bit that been detected;
30
if BUF[closest_port] < 𝑆𝑖𝑧𝑒𝐵 and delete_bit is data bit 1
then
31
Shift skyrmions into buffer track;
32
BUF[closest_port] += 1 ;
33
else
34
Remove through access port closest_port;
35
end
36
end
14
15
16
17
18
19
20
21
22
23
else
// Update
for i = 1:N do
delete_bit ← bit that been detected;
if BUF[closest_port] < 𝑆𝑖𝑧𝑒𝐵 and delete_bit is data bit 1
then
Shift skyrmions into buffer track;
BUF[closest_port] += 1 ;
else
Remove through access port closest_port;
end
end
for i = 1:N do
if 𝐷𝑎𝑡𝑎𝑏𝑢 𝑓 [𝑖] == 0 then
Shift left/right to create nonskyrmion for data bit
0;
else
if BUF[closest_port] > 0 then
Shift from buffer track for insertion;
BUF[closest_port] -= 1 ;
else
Inject from closest_port then Shift;
end
end
end
end
utilize buffer tracks. The structure of the proposed SKv-RM can be
illustrated as Figure 5 and manipulations of SKv-RM can be summarized as Algorithms 1 and 2. Notably, in these algorithms, 𝑂𝑝𝑟 .
denotes the incoming operations issued to SKv-RM, while 𝑁𝑢𝑚𝑃 and
𝑆𝑖𝑧𝑒𝐵 represent the number of access ports and the size of buffer
tracks, respectively. The word address of incoming data is 𝐴𝑑𝑑𝑟 𝐷
with its data buffer, 𝐷𝑎𝑡𝑎𝑏𝑢 𝑓 . The size of the overhead region is 𝑆𝑖𝑧𝑒𝑂 .
Then, 𝑃𝑂𝑆 [1...𝑃] is used to track the current address that each access
port, while 𝐵𝑈 𝐹 [1...𝑃] tracks the number of skyrmions on the buffer
tracks at each access port.
At the beginning of Algorithm 1, the leftmost and rightmost ends
of the racetrack is initialized based on 𝑃𝑂𝑆 [0], 𝑃𝑂𝑆 [𝑃 − 1], and 𝑆𝑖𝑧𝑒𝑂 .
Then, based on the address of data 𝐴𝑑𝑑𝑟 𝐷 , the closest access port is
found based on the current address of access ports, 𝑃𝑂𝑆 [1...𝑃], and
data address, 𝐴𝑑𝑑𝑟 𝐷 . Next, to prevent data from over-shifting the
end of racetracks, the function, prevent_overshift, (See Algorithm 2)
is utilized to determine whether the previous derived shift distance
returns will exceed the leftmost or rightmost ends of the racetrack.
Then, based on the incoming operations, 𝑂𝑝𝑟 ., Algorithm 1 can be
+,
" #$%&Ͳ'(
" &*+,
)Ͳ! To effectively prolong the lifespan of skyrmions through buffer
tracks, SKv-RM proposed the four word-based and skyrmion-aware
operations, which are read, write, delete, and update, to effectively
Figure 5: Example of word-based address with 64-bits word,
in which the POS records the word address that access ports
point to. For example, POS[0] has the value of 0 for pointing
at word 0. Then, if skyrmions are shifted by 64 steps, POS[0]
becomes 1.
336
Authorized licensed use limited to: National Yang Ming Chiao Tung University. Downloaded on September 12,2023 at 05:59:34 UTC from IEEE Xplore. Restrictions apply.
Skyrmion Vault: Maximizing Skyrmion Lifespan for Enabling Low-Power Skyrmion Racetrack Memory
divided into four parts to conduct word-based read, write, delete, and
update, respectively.
For word-based read operations, the data bits of access address,
𝐴𝑑𝑑𝑟 𝐷 , is shifted through the access port to detect the presence of
skyrmions for determining the data bit value. Then, those detected
bits will be filled into 𝐷𝑎𝑡𝑎𝑏𝑢 𝑓 [𝑖] and the position of access ports,
𝑃𝑂𝑆 [0...𝑃 − 1], will be updated accordingly. Next, for word-based
write operations, skyrmions could either be shifted from buffer tracks
of the access port, closest_port, or be injected through the skyrmion
injection operation. This approach allows SKv-RM to reuse skyrmion
from previous data writes and be able to prolong the lifespan of
injected skyrmions over multiple data writes. On the other hand, the
word-based delete operation is an inverse version of word-based write
operations, as skyrmions are shifted into buffer tracks before buffer
tracks are full. Notably, even though skyrmions could still be removed
if the buffer track at closest_port is full, most skyrmions will still be
reused for composing new data patterns. In addition, the size of buffer
tracks could be enlarged to further reduce the number of removed
skyrmions. Finally, the word-based update operation is a combination
of word-based remove and write operations. This is because the data
pattern of a word could only be updated if the previous data pattern
is deleted.
3.3
Over-Shifting Prevention scheme
Under the multi-word architecture, SKv-RM utilizes one access port
to access multiple words on racetracks. When shifting skyrmions
to the closest access ports, skyrmions may be overshifted at the
leftmost or rightmost ends of the racetracks. Overshifting skyrmions
at either end of racetracks leads to data loss as skyrmions no longer
exist. This condition is also very common if the dynamic lazy shift
scheme [14] is utilized, because the dynamic lazy shift scheme will not
shift skyrmions back to their original states after shift operations. In
other words, the word address that the access port points at after every
shift operations could be different. Please note that the dynamic lazy
shift scheme is originally designed for domain-wall racetrack memory
and cannot be directly applied on SK-RM due to the overshifting issue.
Therefore, to prevent the issue of overshifting, SKv-RM includes the
over-shifting prevention scheme to double-check the shift distance
based on the current position of access ports and address of the
accessed word. In this scheme, the shift distance will be added to the
rightmost end or subtracted from the leftmost end of the racetracks
to determine whether the shift operations will exceed the ends. If
the shift distance of shifting to the closest access port leads to the
overshifting issue, the access port next to the closest access port will
be assigned as the access port. A new shift distance will be derived
and returned. The above procedure is summarized as Algorithm 2.
4 PERFORMANCE EVALUATION
4.1 Experiment Setup
To evaluate the effectiveness of SKv-RM in terms of reducing energy
consumption and prolonging the lifespan of skyrmions, a set of tracedriven experiments are conducted through an in-house simulator.
Please note that as one of the design goals in this study is prolonging
skyrmions’ lifespan and measuring lifespan could be challenging in
real-world SKv-RM, this section chose simulation for better focusing
on evaluating the proposed SKv-RM. Trace logs are collected from
Yahoo! Cloud Serving Benchmark (YCSB) [1] with 1 KB record size
and ten million operations. Then, as data update requests are the
main source of injection and remove operations on SK-RM, three
ASPDAC ’23, January 16–19, 2023, Tokyo, Japan
Algorithm 3: Over-shifting prevention scheme
1
2
3
4
5
6
7
8
9
10
11
12
13
Function prevent_overshift(𝑃𝑛𝑢𝑚 , 𝑃𝑂𝑆 [0...𝑃 − 1],
𝐴𝑑𝑑𝑟 𝐷 , shift_distance, leftmost_end, rightmost_end):
if shift_distance > 0 then
if POS[0] - shift_distance < leftmost_end then
𝑃𝑛𝑢𝑚 ← P𝑛 - 1 ;
end
else
if POS[P-1] + shift_distance > rightmost_end then
𝑃𝑛𝑢𝑚 ← P𝑛 + 1 ;
end
end
shift_distance ← the address difference between 𝐴𝑑𝑑𝑟 𝐷 and
𝑃𝑂𝑆 [𝑃𝑛𝑢𝑚 ];
return shift_distance
End Function
workloads from YCSB are chosen for representing average-case and
worst-case scenarios. Workload a have 50% data update requests and
can be regarded as the average-case scenario. Workload b and Workload c have 5% and 0% of data update requests, which are used to
represent the worst-case scenario. Then, to study the best-case scenario, a self-generated workload, 100% Update, is also included. Based
on these four workloads, the results of SKv-RM are compared with
conventional SK-RM and the Permutation-Write (PW) strategy [15].
Energy consumption parameters of each skyrmion operation are
provided by a domain expert, which are summarized in Table 1.
Table 1: Energy consumption of skyrmion operations.
Operations
Energy
4.2
Detect
2 fJ
Shift
20 fJ
Remove
20 fJ
Insert
200 fJ
Experimental Results
In our experiment, the size of a word and inter-port distance are set
as 64 bits and 8 words, respectively. Under this setting, the number of
skyrmion injection/shift/remove operations are reported as Figures 6
to 8. Figure 6 first shows that SKv-RM can reduce the number of
injection operations under Workload a, Workload b, and 100% Update workload. This is because, during data update requests, injected
skyrmions are stored on the buffer tracks and reused for composing new data patterns. The average reduced percentages are 96.9%
and 63.8%, compared with conventional SK-RM and the PermutationWrite (PW) strategy, respectively. For Workload c, the number of
injection operations is not reduced because there are no data update requests and no skyrmions are reused. For remove operations,
Figure 7 also shows positive reductions in workloads with data update requests. Similarly, no remove operations are induced under
Workload c because there are no data update requests. As SKv-RM
introduces the over-shifting prevention scheme in combination with
the dynamic lazy shift scheme, the number of shift operations is
lowered. As shown in Figure 8, the shift operation can be reduced
by 36.1% and 36.2% on average, compared with conventional SK-RM
and PW strategy. In other words, after introducing buffer tracks for
preserving injected skyrmions via shift operations, the number of
shift operations is not amplified.
The experimental results of energy consumption and skyrmions’
lifespan are summarized in Figures 9 to 11. As these figures show,
when compared with conventional SK-RM, SKv-RM can effectively
337
Authorized licensed use limited to: National Yang Ming Chiao Tung University. Downloaded on September 12,2023 at 05:59:34 UTC from IEEE Xplore. Restrictions apply.
*&&&
*&&
*&
*
*&&
*&
*
Figure 7: Remove operations comparison.
56
56
*8&
*+&
*,&
*&&
**&
9&
:&
8&
,&
$)
3&
7&
+&
*&
) - ) -! ) -
*&&.
/ &8
*
" -= -0>4
,
+8
+
*8
*
5
CONCLUSION
To resolve the high energy consumption and latency issue of the
skyrmion injection operations, this study introduces SKv-RM to utilize buffer tracks for extending the lifespan of injected skyrmions.
The feasibility of manufacturing SKv-RM is also discussed from various perspectives, including area, skyrmion manipulation, and energy
consumption. In the proposed SKv-RM, word-based operations are
introduced to read/write/update/delete words on SKv-RM while using
skyrmion buffer tracks to reuse injected skyrmions. In addition, an
over-shifting prevention scheme is included to prevent skyrmions
from shifting out of the ends of the racetracks to prevent data loss.
The evaluation results show that, when compared with conventional
SK-RM, SKv-RM can effectively reduce the energy consumption by
upto 56.8% and prolong the lifespan of skyrmions by up to 57.3x.
ACKNOWLEDGMENTS
This work was supported in part by National Science and Technology Council
under grant no. 109-2222-E-027-007-MY3, 111-2221-E-027-076-MY3, 111-2223E-001-001, 111-2923-E-002-014-MY3, 111-2221-E-001-013-MY3, 111-2221-E008-058-MY3, and 111-2628-E-008-002-MY3 and Academia Sinica under grant
nos. AS-IA-111-M01 and AS-GCS-110-08.
REFERENCES
[1] B. F. Cooper, R. Ramakrishnan, U. Srivastava, A. Silberstein, P. Bohannon, H.-A.
Jacobsen, N. Puz, D. Weaver, and R. Yerneni, “Pnuts: Yahoo!’s hosted data serving
platform,” IN PROC. 34TH VLDB, Tech. Rep., 2008.
[2] A. Fert, V. Cros, and J. Sampaio, “Skyrmions on the track,” Nature Nanotechnology,
vol. 8, no. 3, pp. 152–156, Mar 2013. [Online]. Available: https://doi.org/10.1038/
nnano.2013.29
[3] L. Gnoli, F. Riente, M. Vacca, M. Ruo Roch, and M. Graziano, “Skyrmion
logic-in-memory architecture for maximum/minimum search,” Electronics, vol. 10,
*&&.
/ Figure 8: Shift operations comparison.
56
$)
56
*&&
*&
*
) - ) -! ) -
Figure 10: Energy consumption comparison Figure 11: Comparison
Figure 9: Energy consumption comparison. with different buffer track size.
skyrmions’ lifespan.
reduce the energy consumption by upto 56.8% and prolong the lifespan of skyrmions by up to 57.3x. Furthermore, according to Figure 10,
the energy consumption can still be reduced when the size of buffer
tracks is only half the word size.
56
) - ) -! ) -
56
<&
$)
,8
*&&.
/ 4
$)
*#&&&
) -) -!) -
2 ;-01-*&2&9-4
2 ;-01-*&2&9-4
56
56
*&#&&&
*&&.
/ Figure 6: Injection operations comparison.
56
-01-*&2&8-
) - ) -! ) -
$)
'"! ---01-*&2&94
56
56
?
$)
'"! -- -01-*&2&74
'"! -- -01-*&2&34
56
of
*&&.
/ average
no. 2, 2021. [Online]. Available: https://www.mdpi.com/2079-9292/10/2/155
[4] S. Gu, E. H.-M. Sha, Q. Zhuge, Y. Chen, and J. Hu, “Area and performance
co-optimization for domain wall memory in application-specific embedded
systems,” in Proceedings of the 52nd Annual Design Automation Conference, ser. DAC
’15. New York, NY, USA: Association for Computing Machinery, 2015. [Online].
Available: https://doi.org/10.1145/2744769.2744800
[5] Y. S. Hsieh, P. C. Huang, P. X. Chen, Y. H. Chang, W. Kang, M. C. Yang, and W. K.
Shih, “Shift-limited sort: Optimizing sorting performance on skyrmion memorybased systems,” IEEE Transactions on Computer-Aided Design of Integrated Circuits
and Systems, vol. 39, no. 11, pp. 4115–4128, 2020.
[6] W. Kang, Y. Huang, C. Zheng, W. Lv, N. Lei, Y. Zhang, X. Zhang, Y. Zhou,
and W. Zhao, “Voltage controlled magnetic skyrmion motion for racetrack
memory,” Scientific Reports, vol. 6, no. 1, p. 23164, Mar 2016. [Online]. Available:
https://doi.org/10.1038/srep23164
[7] W. Kang, B. Wu, X. Chen, D. Zhu, Z. Wang, X. Zhang, Y. Zhou, Y. Zhang, and
W. Zhao, “A comparative cross-layer study on racetrack memories,” ACM Journal
on Emerging Technologies in Computing Systems (JETC), vol. 16, pp. 1 – 17, 2020.
[8] Z. Liang, G. Sun, W. Kang, X. Chen, and W. Zhao, “Zuma: Enabling direct insertion/deletion operations with emerging skyrmion racetrack memory,” in 2019 56th
ACM/IEEE Design Automation Conference (DAC), 2019, pp. 1–6.
[9] H. Mao, C. Zhang, G. Sun, and J. Shu, “Exploring data placement in racetrack
memory based scratchpad memory,” in 2015 IEEE Non-Volatile Memory System and
Applications Symposium (NVMSA), 2015, pp. 1–5.
[10] S. Mühlbauer, B. Binz, F. Jonietz, C. Pfleiderer, A. Rosch, A. Neubauer, R. Georgii, and
P. Böni, “Skyrmion lattice in a chiral magnet,” Science, vol. 323, no. 5916, pp. 915–919,
2009. [Online]. Available: https://science.sciencemag.org/content/323/5916/915
[11] S. S. P. Parkin, M. Hayashi, and L. Thomas, “Magnetic domain-wall racetrack
memory,” Science, vol. 320, no. 5873, pp. 190–194, 2008. [Online]. Available:
https://science.sciencemag.org/content/320/5873/190
[12] R. Tomasello, E. Martinez, R. Zivieri, L. Torres, M. Carpentieri, and G. Finocchio, “A
strategy for the design of skyrmion racetrack memories,” Scientific Reports, vol. 4,
no. 1, p. 6784, Oct 2014. [Online]. Available: https://doi.org/10.1038/srep06784
[13] H. Vakili, W. Zhou, C. T. Ma, M. G. Morshed, M. N. Sakib, T. Hartnett, J.-W. Xu,
K. Litzius, Y. Quessab, P. Balachandran, M. Stan, S. J. Poon, A. D. Kent, G. Beach, and
A. W. Ghosh, “Computing and memory technologies based on magnetic skyrmions,”
2021.
[14] R. Venkatesan, V. Kozhikkottu, C. Augustine, A. Raychowdhury, K. Roy, and
A. Raghunathan, “Tapecache: a high density, energy efficient cache based on domain
wall memory,” in Proceedings of the 2012 ACM/IEEE international symposium on Low
power electronics and design, 2012, pp. 185–190.
[15] T. Y. Yang, M. C. Yang, J. Li, and W. Kang, “Permutation-write: Optimizing write
performance and energy for skyrmion racetrack memory,” in 2020 57th ACM/IEEE
Design Automation Conference (DAC), 2020, pp. 1–6.
[16] D. Zhu, W. Kang, S. Li, Y. Huang, X. Zhang, Y. Zhou, and W. Zhao, “Skyrmion
racetrack memory with random information update/deletion/insertion,” IEEE Transactions on Electron Devices, vol. 65, no. 1, pp. 87–95, 2018.
338
Authorized licensed use limited to: National Yang Ming Chiao Tung University. Downloaded on September 12,2023 at 05:59:34 UTC from IEEE Xplore. Restrictions apply.
Download