{"id":4939,"date":"2021-02-15T15:26:59","date_gmt":"2021-02-15T23:26:59","guid":{"rendered":"https:\/\/phisonblog.com\/?p=4939"},"modified":"2025-07-21T17:23:25","modified_gmt":"2025-07-22T00:23:25","slug":"ensuring-data-correctness-with-phisons-guaranteedflush-2","status":"publish","type":"post","link":"https:\/\/phisonblog.com\/ja\/ensuring-data-correctness-with-phisons-guaranteedflush-2\/","title":{"rendered":"Phison \u306e AcademicedFlush\u2122 \u3067\u30c7\u30fc\u30bf\u306e\u6b63\u78ba\u6027\u3092\u78ba\u4fdd"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||||false|false&#8221; custom_padding=&#8221;0px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;0px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p><\/p>\n<p>NAND Flash is a non-volatile memory composed of millions of floating-gate transistors that capture electrons within the gate. These floating-gate transistors can be thought of as memory cells. When millions of memory cells are connected, they form an array. Each array consists of blocks and each block contains numbers of pages.<\/p>\n<p>Fig.1 gives a brief illustration of a NAND array f schematic.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_1_PhisonSSDControllerWP_032521.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-4942 size-full\" src=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_1_PhisonSSDControllerWP_032521.jpg\" alt=\"\" width=\"560\" height=\"315\" srcset=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_1_PhisonSSDControllerWP_032521.jpg 560w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_1_PhisonSSDControllerWP_032521-480x270.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 560px, 100vw\" \/><\/a><\/p>\n<p>Each Word-Line (WL) makes a page, which is the basic unit of Read\/Program operations in NAND. However, the number of pages for each WL is different in Single-level Cell (SLC), Multi-level Cell (MLC), and Triple-level Cell (TLC) type NAND.<\/p>\n<p>Fig.2 shows that two pages (lower and upper page) sharing the same WL in MLC NAND and three pages (lower, middle, and upper page) sharing the same WL in TLC NAND. Pages that share the same WL are called paired-pages.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4943 size-full\" src=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_2_PhisonSSDControllerWP_032521.jpg\" alt=\"\" width=\"560\" height=\"315\" srcset=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_2_PhisonSSDControllerWP_032521.jpg 560w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_2_PhisonSSDControllerWP_032521-480x270.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 560px, 100vw\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Because of the physical characteristics of NAND flash, here are two golden rules to follow with NAND programming operations:<\/p>\n<ol>\n<li>Programming operations need to follow the order specified based on NAND flash characteristics.<\/li>\n<li>If the programming operation on Word-Line (WL) is not completed, the data integrity of this WL cannot be guaranteed.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>For MLC or TLC NAND flash, data programming in a\u00a0\u00a0single page will not be a one-step operation. MLC\/TLC pages need to be programmed two or three times to accomplish data programming requirements. This phenomenon is a physical characteristic of flash memory.<\/p>\n<h2>\u00a0<\/h2>\n<h3>Integrity concerns with user data in paired-pages<\/h3>\n<p>&nbsp;<\/p>\n<p>In the current consumer Solid State Drive (SSD) market, MLC and TLC flash are the most popular memory types. MLC and TLC flash can offer much larger storage capacity with lower cost, especially TLC. However, the programming operation on MLC and TLC flash is more complicated than SLC. If we take TLC flash as an example, you need to program the paired-pages on the same WL three times to complete the whole operation.<\/p>\n<p>Fig. 3 illustrates the complete program operation of TLC flash. Only when the third programming operation on WL_x finishes will the data stored at WL_x become reliable data.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4937 size-full\" src=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_3_PhisonSSDControllerWP_032521.jpg\" alt=\"\" width=\"560\" height=\"315\" srcset=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_3_PhisonSSDControllerWP_032521.jpg 560w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_3_PhisonSSDControllerWP_032521-480x270.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 560px, 100vw\" \/><\/p>\n<p>Unfortunately, this complexity of programming operations adds to the risk of data corruption. Since the integrity of data occurs only after the entire programming sequence completes (i.e. first program + second program + third program), any unexpected events happening prior to the completion of programming operation will cause corruption or loss of data.<\/p>\n<p>Fig. 4 shows what will happen if any unexpected event interrupts data programming operations. In this case, power loss happens before the completion of programming operation for WL_2, meaning only the data stored in WL_0\/WL_1 is guaranteed. In other words, other data could become corrupted due to power loss.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4938 size-full\" src=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_4_PhisonSSDControllerWP_032521.jpg\" alt=\"\" width=\"560\" height=\"315\" srcset=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_4_PhisonSSDControllerWP_032521.jpg 560w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_4_PhisonSSDControllerWP_032521-480x270.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 560px, 100vw\" \/><\/p>\n<p>Phison proprietary technology, GuaranteedFlush\u2122, is designed for preventing our storage devices from data corruption caused by any unexpected interruption during programming operations.<\/p>\n<p>GuaranteedFlush\u2122 is not run for every single data programming command. Instead, GuaranteedFlush\u2122 is triggered in the background once the storage device receives a FLUSH_CACHE command. Consequently, the integrity of all the data programmed into the device prior to the FLUSH_CACH command is guaranteed by this technology.<\/p>\n<p>Fig.5 is an illustration of the user data range GuaranteedFlush\u2122 is able to cover.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4940 size-full\" src=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_5_PhisonSSDControllerWP_032521.jpg\" alt=\"\" width=\"560\" height=\"315\" srcset=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_5_PhisonSSDControllerWP_032521.jpg 560w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_5_PhisonSSDControllerWP_032521-480x270.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 560px, 100vw\" \/><\/p>\n<div class=\"banner_wrapper\" style=\"height: 83px;\"><div class=\"banner  banner-29915 bottom vert custom-banners-theme-default_style\" style=\"\"><img decoding=\"async\" width=\"1080\" height=\"150\" src=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/07\/Phison-Now-Offering-Industry-Best-Secure-SSD-Solutions...-1.jpg\" class=\"attachment-full size-full\" alt=\"\" style=\"height: 83px;\" srcset=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/07\/Phison-Now-Offering-Industry-Best-Secure-SSD-Solutions...-1.jpg 1080w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/07\/Phison-Now-Offering-Industry-Best-Secure-SSD-Solutions...-1-980x136.jpg 980w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/07\/Phison-Now-Offering-Industry-Best-Secure-SSD-Solutions...-1-480x67.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" \/><a class=\"custom_banners_big_link\"  href=\"https:\/\/phisonblog.com\/phison-now-offering-industry-best-secure-ssd-solutions-with-fips-140-2-certification-2\/\"><\/a><div class=\"banner_caption\" style=\"\"><div class=\"banner_caption_inner\"><div class=\"banner_caption_text\" style=\"\">Read: Phison Now Offering Industry-Best Secure SSD Solutions With FIPS 140-2 Certification<\/div><\/div><\/div><\/div><\/div>\n<p>&nbsp;<\/p>\n<div class=\"SnapLinksContainer\" style=\"margin-left: 0px; margin-top: 0px; display: none;\">\n<div class=\"SL_SelectionRect\">\n<div class=\"SL_SelectionLabel\">\u00a0<\/div>\n<\/div>\n<p><!-- Used for easily cloning the properly namespaced rect --><\/p>\n<\/div>\n<div class=\"SnapLinksContainer\" style=\"margin-left: 0px; margin-top: 0px; display: none;\">\n<div class=\"SL_SelectionRect\">\n<div class=\"SL_SelectionLabel\">\u00a0<\/div>\n<\/div>\n<p><!-- Used for easily cloning the properly namespaced rect --><\/p>\n<\/div>\n<p>GuaranteedFlush\u2122 is an implementation of multi-layer algorithms. There are two basic methods used to protect a user\u2019s data from sudden power loss.<\/p>\n<h3>\u00a0<\/h3>\n<h3>Concept 1: Dummy data compensation<\/h3>\n<p>The first method is by speeding up the programming operations. Programming sequences of different NAND flash types can be different. No matter how the programming sequence varies, the duration of data programing on a single WL determines the risk of data loss due to an unexpected interruption. If this duration becomes longer, the possibility of interruption happening is higher. In order to address this problem, dummy data is inserted into specific WLs to make sure the WL storing the user data is allowed to complete the entire programming operation (i.e. 1st program + 2nd program + 3rd program) as shown in Fig.6.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4941 size-full\" src=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_6_PhisonSSDControllerWP_032521.jpg\" alt=\"\" width=\"560\" height=\"315\" srcset=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_6_PhisonSSDControllerWP_032521.jpg 560w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/04\/1013923_6_PhisonSSDControllerWP_032521-480x270.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 560px, 100vw\" \/><\/p>\n<p>By inserting dummy data into the following WLs, user-data programming operations can complete. In this way, the integrity of user data is a guarantee even if any unexpected event interrupts upcoming programming sequences.<\/p>\n<h3>\u00a0<\/h3>\n<h3>Concept 2: Real-time data backup<\/h3>\n<p>The second method available to protect SSDs from data corruption caused by the paired-pages effect is by directly backing data up to the pages without encountering paired-paged issues in the first place. Pages configured as SLC mode are able to meet this requirement. This might feel like a radical way to keep user data secure. However, the capacity of SLC mode is one-third for TLC memory. The implementation of Real-time Data Backup becomes another issue.<\/p>\n<h3>\u00a0<\/h3>\n<h3>Choose Phison for secure data<\/h3>\n<p>GuaranteedFlush\u2122 is yet another Phison proprietary technology designed to ensure data correctness during unexpected power loss. GuaranteedFlush\u2122 strengthens the reliability of Phison SSD products.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"banner_wrapper\" style=\"height: 83px;\"><div class=\"banner  banner-29919 bottom vert custom-banners-theme-default_style\" style=\"\"><img decoding=\"async\" width=\"1080\" height=\"150\" src=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/07\/Phison-Now-Offering-Industry-Best-Secure-SSD-Solutions...-1-1.jpg\" class=\"attachment-full size-full\" alt=\"\" style=\"height: 83px;\" srcset=\"https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/07\/Phison-Now-Offering-Industry-Best-Secure-SSD-Solutions...-1-1.jpg 1080w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/07\/Phison-Now-Offering-Industry-Best-Secure-SSD-Solutions...-1-1-980x136.jpg 980w, https:\/\/phisonblog.com\/wp-content\/uploads\/2021\/07\/Phison-Now-Offering-Industry-Best-Secure-SSD-Solutions...-1-1-480x67.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" \/><a class=\"custom_banners_big_link\"  href=\"https:\/\/phisonblog.com\/securing-ssds-with-code-signing-and-digital-signatures-2\/\"><\/a><div class=\"banner_caption\" style=\"\"><div class=\"banner_caption_inner\"><div class=\"banner_caption_text\" style=\"\">Read: Securing SSDs with Code Signing and Digital Signatures<\/div><\/div><\/div><\/div><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;0px||||false|false&#8221; saved_tabs=&#8221;all&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<\/p>\n<h3><strong>Frequently Asked Questions (FAQ) :<\/strong><\/h3>\n<p>[\/et_pb_text][et_pb_toggle _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; title=&#8221;Why is TLC NAND more prone to data corruption than SLC?&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p><span class=\"NormalTextRun SCXW192372862 BCX0\">TLC stores three bits per cell and shares Word-Lines across pages. This requires three separate programming operations, increasing the risk of incomplete <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW192372862 BCX0\">writes<\/span><span class=\"NormalTextRun SCXW192372862 BCX0\">. SLC only needs one programming cycle, significantly reducing this risk.<\/span><\/p>\n<p>[\/et_pb_toggle][et_pb_toggle _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; title=&#8221;What is dummy data compensation in GuaranteedFlush\u2122?&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p><span class=\"NormalTextRun SCXW174172414 BCX0\">Dummy data is pre-written into <\/span><span class=\"NormalTextRun SCXW174172414 BCX0\">subsequent<\/span><span class=\"NormalTextRun SCXW174172414 BCX0\"> Word-Lines to speed up the completion of real user-data programming. This ensures the full program sequence finishes quickly, reducing vulnerability to power loss.<\/span><\/p>\n<p>[\/et_pb_toggle][et_pb_toggle _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; title=&#8221;How does real-time data backup differ from dummy data compensation?&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p><span class=\"NormalTextRun SCXW208159718 BCX0\">Real-time backup stores user data directly into SLC-mode pages, which <\/span><span class=\"NormalTextRun SCXW208159718 BCX0\">don\u2019t<\/span><span class=\"NormalTextRun SCXW208159718 BCX0\"> suffer from paired-page effects. It avoids the complexity of TLC programming but sacrifices <\/span><span class=\"NormalTextRun SCXW208159718 BCX0\">capacity<\/span><span class=\"NormalTextRun SCXW208159718 BCX0\">, as SLC stores less data per cell.<\/span><\/p>\n<p>[\/et_pb_toggle][et_pb_toggle _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; title=&#8221;Why is real-time data backup not used exclusively?&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p><span class=\"NormalTextRun SCXW102345 BCX0\">SLC mode drastically reduces storage density<\/span><span class=\"NormalTextRun SCXW102345 BCX0\">, <\/span><span class=\"NormalTextRun SCXW102345 BCX0\">using it exclusively would cut usable capacity by two-thirds in TLC NAND. <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW102345 BCX0\">Phison<\/span><span class=\"NormalTextRun SCXW102345 BCX0\"> balances backup usage with other techniques to <\/span><span class=\"NormalTextRun SCXW102345 BCX0\">retain<\/span> <span class=\"NormalTextRun SCXW102345 BCX0\">capacity<\/span><span class=\"NormalTextRun SCXW102345 BCX0\"> and performance.<\/span><\/p>\n<p>[\/et_pb_toggle][et_pb_toggle _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; title=&#8221;How does GuaranteedFlush\u2122 reflect Phison\u2019s engineering philosophy?&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p><span class=\"NormalTextRun SCXW176593864 BCX0\">It <\/span><span class=\"NormalTextRun SCXW176593864 BCX0\">showcases<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW176593864 BCX0\">Phison\u2019s<\/span><span class=\"NormalTextRun SCXW176593864 BCX0\"> focus on controller-level innovation and data integrity. By designing firmware-level protections tailored to NAND behavior, <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW176593864 BCX0\">Phison<\/span><span class=\"NormalTextRun SCXW176593864 BCX0\"> offers OEMs and enterprise users reliable, low-latency storage with superior power-loss resilience.<\/span><\/p>\n<p>[\/et_pb_toggle][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>NAND Flash is a non-volatile memory composed of millions of floating-gate transistors that capture electrons within the gate. These floating-gate transistors can be thought of as memory cells. When millions of memory cells are connected, they form an array. Each array consists of blocks and each block contains numbers of pages. Fig.1 gives a brief [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":4944,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[23,16,3,8],"tags":[22],"class_list":["post-4939","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all-posts","category-consumer","category-enterprise","category-technology","tag-long-content"],"acf":[],"_links":{"self":[{"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/posts\/4939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/comments?post=4939"}],"version-history":[{"count":2,"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/posts\/4939\/revisions"}],"predecessor-version":[{"id":86478,"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/posts\/4939\/revisions\/86478"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/media\/4944"}],"wp:attachment":[{"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/media?parent=4939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/categories?post=4939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phisonblog.com\/ja\/wp-json\/wp\/v2\/tags?post=4939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}